Intereting Posts
Документ не имеет исключения корневого элемента, используя простой XML-сериализатор (v2.6.6) Как настроить фокус на диалоговом окне предупреждения об андроиде? Сделайте снимок и конвертируйте в Base64 Flurry не регистрирует ничего в android -phonegap-Icomatic Значки Topcoat отображаются в Chrome, но не в Android Android Socket Exception "сокет закрыт" Android: передать параметр службе из Activity Как вернуть логическое значение из AsyncTask? Как анимировать маркер, когда он добавляется для отображения на Android? Я установил use-feature android: required = "false", но игра Google продолжает настаивать на этих функциях Создайте пользовательский диалог с списком переключателей Android Как показывать ссылки в веб-виде? Как добавить веб-просмотр crosswalk в моем собственном модуле библиотеки Android? Android-программирование: как рисовать многострочный текст в прямоугольнике? Неправильные размеры изображения в android при использовании растрового изображения

Значение AudioSource для USB-микрофона на Android

Приложение для захвата звука на корневом MK809 / Android 4.1.1. Нет внутреннего микрофона, поэтому я пытаюсь использовать USB-накопитель, который правильно распознается как «USB-аудиоустройство» в меню « Настройки» / «Звуковые / звуковые устройства» / «Звуковые устройства ввода» при подключении.

Какое значение AudioSource этого устройства передается в конструктор AudioRecord (первый аргумент). Я пробовал все в MediaRecorder.AudioSource, никто не работал. Меня интересует только чтение буфера захвата, а не сохранение в файл.

Solutions Collecting From Web of "Значение AudioSource для USB-микрофона на Android"

Отвечая на мой вопрос. Были выполнены следующие значения: DEFAULT, MIC, CAMCORDER, возможно, и другие, так как это единственное устройство ввода.

Я пытался использовать частоту дискретизации 48000 (работает в Windows), а создание AudioRecord не удалось:

ERROR / AudioRecord (1615): не удалось получить аудиовход для источника записи 1 ERROR / AudioRecord-JNI (1615): ошибка при создании экземпляра AudioRecord: проверка инициализации завершилась неудачно. ERROR / AudioRecord-Java (1615): [android.media.AudioRecord] Код ошибки -20 при инициализации собственного объекта AudioRecord.

В некоторой степени вводящей в заблуждение информации, учитывая, что вызов getMinBufferSize () с тем же набором agruments не возвращает ошибку, как предполагается. Я предположил, что это действительная частота дискретизации для устройства. Исправлена ​​проблема с настройкой 4400 (guranteed).

Устройства USB-аудиовхода работают, по крайней мере, на Android, Jelly Bean. Надеюсь, это поможет кому-то.

FWIW, это специфичная реализация (она может различаться между различными поставщиками платформ и OEM-производителями).

На устройствах, на которых я работал, микрофон USB-аксессуаров выбирается, если AudioSource имеет значение DEFAULT , MIC или VOICE_RECOGNITION , и только частоты дискретизации, поддерживаемые в аудио HAL для записи звука USB, были 8, 16 и 48 кГц (хотя AudioFlinger может перепрограммировать другие тарифы в определенном диапазоне).