5

В настоящее время я пишу приложение, которое требует записи и обработки аудиоданных в реальном времени. Для этого я использую класс AudioRecord. Это работает хорошо и хорошо, за исключением того, что по умолчанию для записи звука на моем первичном тестирующем устройстве, галактической нексусе, записывается задняя колонка. Я предполагаю, что большинство телефонов по умолчанию для записи по умолчанию будут задними или нижними микрофонами, потому что, когда вы используете телефон для звонка, ваш рот находится у основания.Изменить запись в Android Audio Запись по умолчанию Источник

Однако мое приложение требует, чтобы я записывал данные из динамика на передней панели телефона, и поэтому я надеялся, что кто-то может помочь мне в том, как программно изменить источник входного сигнала AudioRecord. Я много раз искал ответ на этот вопрос.

Некоторые вещи, которые я Рассматриваемые:

  • Использование AudioManager класса и включения громкой связи, такие как:

    AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    am.setSpeakerphoneOn(true);

  • Изменение параметра AudioSource в строительстве моего AudioRecord объект:

    AudioRecord ar = new AudioRecord(AudioSource.????, ..., ..., ..., ...);

  • Я обнаружил, что API не слишком специфичны в отношении того, какие форматы аудиосигналов есть, поэтому мне было интересно, если кто-то еще боролся с этой проблемой и мог указать мне в правильном направлении.

    Спасибо заранее,

    +0

    попробуйте этот MediaRecorder.AudioSource.VOICE_CALL .. – Sandeep

    +0

    Я не использую объект MediaRecorder, хотя .... – lbrendanl

    ответ

    0

    Android в настоящее время не поддерживает запись звонков, поэтому я считаю, вы не можете изменить его для записи с наушником. Вы не должны действительно нуждаться, однако, микрофон в нижней части телефона должен иметь возможность записывать вещи на полную мощность, в которой вы нуждаетесь. Чтобы установить AudioRecord на микрофон, просто выполните:

    AudioRecord ar = new AudioRecord(AudioSource.MIC, ..., ..., ..., ...); 
    

    Это даст вам лучшее качество записи.