Запись \ Воспроизведение аудио напрямую с помощью libmedia\AudioFlinger

Я проверяю возможность взаимодействия непосредственно с libmedia\AudioFlinger для воспроизведения \ записи необработанного звука (как это делают AudioTrack\AudioRecord).

Цель состоит в том, чтобы обойти ограничение минимального размера буфера для этих двух классов Java. Я знаю, что 2.3 представляет OpenSL, но я хочу сделать это для 2.2 и ниже.

Кто-нибудь делал это раньше? Есть ли хорошая эталонная реализация, которая использует это? Если нет, как бы вы подошли к созданию ссылок на эту библиотеку и использовали ее для обхода минимального размера буфера?

Спасибо

1 ответ

К сожалению, доступно только два поддерживаемых аудио API, и вы упомянули оба (AudioTrack и OpenSL). Любой более низкий уровень, чем этот, и вы будете мешать микшированию звука, уже выполняемому устройством для таких вещей, как SFX и телефонные звонки. Кроме того, поскольку нет API для аудио нижнего уровня, вам придется взломать, что, вероятно, не то, что вы хотите сделать по очевидным причинам совместимости.

Другие вопросы по тегам