Плагин Android Capacitor > ReleaseBuffer: mUnreleased вне диапазона, !(stepCount:480 <= mUnreleased:128 <= mFrameCount:1Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Плагин Android Capacitor > ReleaseBuffer: mUnreleased вне диапазона, !(stepCount:480 <= mUnreleased:128 <= mFrameCount:1

Сообщение Anonymous »

Здравствуйте, дамы и господа, могу ли я попросить вас о небольшой помощи? Я не очень хорошо разбираюсь в разработке Android и пытаюсь создать плагин Capacitor, который передает потоковое аудио, записанное с микрофона, через Socket.io. Кажется, все работает нормально, за исключением того, что время от времени я вижу отчет о сбое, в котором говорится:

Код: Выделить всё

releaseBuffer: mUnreleased out of range, !(stepCount:480  0) {
chunksProcessed++; // Increment the chunks processed counter
if (chunksProcessed > chunksToSkip) {
byte[] actualData = Arrays.copyOf(buffer, bytesRead);
try {
if (actualData.length > 0) {
Constants.FrameSize frameSize2 = Constants.FrameSize.Companion.fromValue(buffer.length / 2);
byte[] encoded = codec.encode(actualData, frameSize2);
totalDataSent += encoded.length;
if (encoded != null) {
JSObject ret2 = new JSObject();
ret2.put("data", encoded);
ret2.put("frameSize", buffer.length / 2);
ret2.put("companyId", companyId);
ret2.put("name", name);
ret2.put("userId", userId);
socket.emit("send-chat-data", ret2);
} else {
JSObject errorLog = new JSObject();
errorLog.put("error", "CODEC.Encoded is null");
errorLog.put("type", "startRecording");
socket.emit("ptt-error-logging", errorLog);
}
long currentTime = System.currentTimeMillis();
if ((currentTime - startTime) >= 60000) { // 60,000 milliseconds = 1 minute
Log.d("DataSent", "Total data sent in last minute: " + (totalDataSent / 1024) + "  KB");

// Reset counters
startTime = currentTime;
totalDataSent = 0;
}
}
} catch (Exception e) {
JSObject errorLog = new JSObject();
errorLog.put("error", e);
errorLog.put("type", "startRecording");
socket.emit("ptt-error-logging", errorLog);
stopRecordingFromSocket();
}
}
}
}
}).start();

call.success();
} catch (Exception e) {
JSObject errorLog = new JSObject();
errorLog.put("error", e);
errorLog.put("type", "startRecording-whole");
socket.emit("ptt-error-logging", errorLog);
stopRecordingFromSocket();
}
}
Я пытался манипулировать размером буфера, но, похоже, это совсем не помогло :( всем спасибо

Подробнее здесь: https://stackoverflow.com/questions/779 ... -stepcount
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»