Intereting Posts
Как разрешить Не удается подключиться к редактору для получения текстовой ошибки Как Android 2.2 взаимодействует с Flash 10.1 (как использовать flash из моего приложения)? Как отключить историю совместного использования при использовании ShareActionProvider? Android: Центр ImageButton в LinearLayout Android CountDownTimer показывает 1 в течение двух секунд Как проверить статус включения / выключения экрана в onStop ()? Воспроизведение видео в android прямо с сервера API-интерфейс Google Docs возвращает 503-Сервис недоступный при загрузке файла. Что-то изменилось? Ошибка создания AVD в командной строке в Windows XP Каков наилучший формат аудиофайлов для воспроизведения на iPhone и Android? Как я могу создать материал для более старых версий? Пауза / обратная анимация кадра? Справочные ресурсы из другого модуля в Android Studio Можно загружать только определенные строки кода в соответствии с версией ОС Android? Предлагает ли Google API, который я могу использовать для получения адреса моего телефона?

Запись звука с различных внутренних устройств в Android (через нелегальный API)

Мне было интересно, можно ли записывать аудиоданные из других источников, таких как система, FM-радио, Bluetooth-гарнитура и т. Д. Мне особенно нравится захватывать звук с FM-радио и уже исследовал все возможности, включая попытку обнюхивать сырье Bluetooth-связь между телефоном и радиоустройством без везения. Очень плохо, что Android позволяет записывать аудио с MIC.

Я посмотрел исходный код Android и не смог найти бэкдор, чтобы позволить мне сделать это, не укореняя устройство. По крайней мере, знаете ли вы, как использовать другие устройства (возможно, получить доступ к каким-либо / dev / audio ) через NDK или даже лучше – Java (возможно, Reflection?), Чтобы обмануть систему для захвата аудиопотока, скажем, FM радио. (В моем случае я пытаюсь разработать приложение для HTC Desire)

PS. И для тех из вас, кто против использования недокументированных API, пожалуйста, не публикуйте здесь – я пишу приложение, которое будет для моего личного использования, или даже если я когда-нибудь опубликую его, я буду предупреждать пользователя о возможных несовместимостях.

Я потратил довольно много времени на расшифровку звукового стека, и я думаю, вы можете попытаться захватить libaudio. У вас возникнут проблемы с непосредственным обращением к аппаратным средствам (/ dev / *), поскольку многие устройства используют проприетарные аудио драйверы. В этом отношении нет никакого правила.

Однако уровень абстракции звука (HAL), предоставляемый /system/lib/libaudio.so, должен раскрывать API, описанный в http://source.android.com/porting/audio.html

Система Android, и особенно audioflinger, использует этот libaudio HAL для поиска доступных устройств, обработки маршрутизации и, конечно, для чтения / записи данных PCM.

Таким образом, вы могли бы захватить взаимодействие между звуковым проигрывателем и libaudio, переименованием позже и предоставлением собственного libaudio, который украсит реальный. Таким образом, вы должны иметь возможность регистрировать то, что происходит, и, возможно, перехватывать FM-радиовыход, при условии, что это не напрямую обрабатывается аппаратным обеспечением.

Конечно, все это требует укоренения. Прошу прокомментировать, если вам удастся это сделать, это меня интересует.