2016-03-14 2 views
2

В моем приложении для Android я использую API AudioTrack для вывода аудиобайтов, которые я получаю из соединения RFCOMM Bluetooth. Звук играет так, как ожидалось, и очень ясен. Тем не менее, приложение иногда выходит из строя из-за следующее утверждение в AudioTrackShared.cpp:Понимание AudioTrack Assertion в Android

stepCount <= mUnreleased && mUnreleased <= mFrameCount 

Я не совсем уверен, что влечет за собой это утверждение, но кто имеет представление о том, что могло бы вызвать эту проблему? Я могу предоставить дополнительный исходный код, если это необходимо:

Моя установка для аудиодорожки:

int minSize = AudioTrack.getMinBufferSize(8000, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT); 
mAudioPlayer = new AudioTrack(AudioManager.STREAM_MUSIC, 8000, AudioFormat.CHANNEL_OUT_MONO, AudioFormat.ENCODING_PCM_8BIT, minSize * 4, AudioTrack.MODE_STREAM); 
+0

Вы повторно используете буфер, который вы пишете в AudioTrack? –

+0

@MimmoGrottoli Я создаю новый массив размером 64 каждый раз, когда пишу в AudioTrack. – Rahin

+0

Это значение, которое вы получаете от AudioTrach.getMinBufferSize? –

ответ

0

сделать размер буфера AudioTrack то же самое вы получите от minBufferSize. Это может решить вашу проблему.

Смежные вопросы