В настоящее время я пишу приложение, которое требует записи и обработки аудиоданных в реальном времени. Для этого я использую класс AudioRecord. Это работает хорошо и хорошо, за исключением того, что по умолчанию для записи звука на моем первичном тестирующем устройстве, галактической нексусе, записывается задняя колонка. Я предполагаю, что большинство телефонов по умолчанию для записи по умолчанию будут задними или нижними микрофонами, потому что, когда вы используете телефон для звонка, ваш рот находится у основания.Изменить запись в Android Audio Запись по умолчанию Источник
Однако мое приложение требует, чтобы я записывал данные из динамика на передней панели телефона, и поэтому я надеялся, что кто-то может помочь мне в том, как программно изменить источник входного сигнала AudioRecord. Я много раз искал ответ на этот вопрос.
Некоторые вещи, которые я Рассматриваемые:
AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); am.setSpeakerphoneOn(true);
AudioRecord ar = new AudioRecord(AudioSource.????, ..., ..., ..., ...);
Я обнаружил, что API не слишком специфичны в отношении того, какие форматы аудиосигналов есть, поэтому мне было интересно, если кто-то еще боролся с этой проблемой и мог указать мне в правильном направлении.
Спасибо заранее,
попробуйте этот MediaRecorder.AudioSource.VOICE_CALL .. – Sandeep
Я не использую объект MediaRecorder, хотя .... – lbrendanl