#android #android-ndk #audioflinger
#Android #android-ndk #audioflinger
Вопрос:
Я проверяю возможность прямого подключения к libmedia AudioFlinger для воспроизведения записи необработанного аудио (например, AudioTrack AudioRecord).
Цель состоит в том, чтобы обойти ограничение минимального размера буфера этих двух классов Java. Я знаю, что в 2.3 представлен OpenSL, но я хочу сделать это для 2.2 и ниже.
Кто-нибудь делал это раньше? Есть ли какая-нибудь хорошая эталонная реализация, которая использует это? Если нет, то как бы вы подошли к созданию ссылки на эту библиотеку и использованию ее для обхода минимального размера буфера?
Спасибо
Ответ №1:
К сожалению, доступно только два поддерживаемых аудио API, и вы упомянули оба (AudioTrack и OpenSL). Любой более низкий уровень, чем этот, и вы будете мешать микшированию звука, уже выполняемому устройством для таких вещей, как SFX и телефонные звонки. Также, поскольку нет API для звука нижнего уровня, вам нужно будет взломать, что, вероятно, не то, что вы хотите делать по очевидным причинам совместимости.