Шум OpenSL ES при запуске воспроизведения нового буфера
Я использую OpenSL ES для воспроизведения звука на Android. Я испытываю проблему, когда один буфер в очереди воспроизведения заканчивается, а другой запускается, между ними часто слышен слабый треск.
Это известная проблема? Как я могу избежать этого?
1 ответ
Решение
После многих отладок я обнаружил проблему. В выводе logcat появилось следующее сообщение:
AUDIO_OUTPUT_FLAG_FAST отклонен клиентом; передача 1, дорожка 22050 Гц, выход 48000 Гц
По сути, после изменения частоты дискретизации моего воспроизведения на 48000 все стало работать нормально. Похоже, что ресэмплер Android OpenSL ES работает не очень хорошо. Прямо сейчас я делаю ресэмплинг в программном обеспечении, чтобы сделать его 48 кГц, а затем иметь возможность воспроизводить его.