5

現在、オーディオデータの録音とリアルタイム処理を必要とするアプリケーションを作成しています。このため、私はAudioRecordクラスを使用しています。私の主なテストデバイスであるギャラクシーネクサスでオーディオを録音するためのデフォルト設定は、バックスピーカーから録音することを除いて、これはうまく機能します。私はあなたが電話を使用しているとき、あなたの口が底の近くにあるので、ほとんどの携帯電話のデフォルトのレコードソースは、背面または下部のマイクになると仮定しています。Androidのオーディオレコードを変更するデフォルトの入力ソース

しかし、私のアプリでは、電話の前面にあるスピーカーから録音する必要があるため、誰かがAudioRecord入力ソースをプログラム的に変更する方法を手伝ってくれることを願っていました。私はこれに対する答えを広範囲に調査しました。

私が検討しているいくつかのものがあります:

  • はAudioManagerクラスを使用してスピーカーフォンをオンにする、など:

    私のaudiorecordの建設にはAudioSourceパラメータを変更する
    AudioManager am = (AudioManager)getSystemService(Context.AUDIO_SERVICE); 
    am.setSpeakerphoneOn(true);

  • オブジェクト:

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

  • 私は、APIはどのAudioSourceフォーマットにあまりにも特異ではないことがわかったので、他の誰かがこの問題に苦労して正しい方向に向いているのか疑問に思っていました。事前に

    おかげで、

    +0

    このMediaRecorder.AudioSource.VOICE_CALLを試してください。 – Sandeep

    +0

    私はMediaRecorderオブジェクトを使用していません.... – lbrendanl

    答えて

    0

    Androidは現在、通話録音をサポートしていないので、私はあなたが受話口から記録するためにそれを変更することはできませんと信じています。あなたは本当に必要はないはずですが、電話機の底にあるマイクは、必要なフル容量で物事を記録できるはずです。マイクにaudiorecordのを設定するには、ちょうどん:

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

    これはあなたに最高の録音品質を提供します。

    関連する問題