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