5

私は現在、オーディオデータの録音とリアルタイム処理を要求するアプリを書いています。このために、私はAudioRecordクラスを使用しています。これはすべてうまく機能しますが、私の主要なテストデバイスであるギャラクシーネクサスでオーディオを録音するためのデフォルト設定は、バックスピーカーから録音することです。ほとんどの電話のデフォルトの録音ソースは背面マイクまたは下部マイクであると想定しています。これは、電話を使用して電話をかけるときは、口が下部に近いためです。

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

私が検討したいくつかのことは次のとおりです。

  • AudioManagerクラスを使用して、次のようなスピーカーフォンをオンにします。

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

  • AudioRecordオブジェクトの構築でAudioSourceパラメーターを変更します。

    AudioRecord ar = new AudioRecord(AudioSource。????、...、...、...、...);

  • APIは、どのAudioSource形式がどれであるかについてあまり具体的ではないことがわかったので、他の誰かがこの問題に苦労していて、正しい方向に私を向けることができるかどうか疑問に思いました。

    前もって感謝します、

    4

    1 に答える 1

    0

    Android は現在通話録音をサポートしていないため、イヤホンから録音するように変更することはできないと思います。ただし、実際には必要ありませんが、電話の下部にあるマイクは、必要な全容量で物事を録音できるはずです. AudioRecord をマイクに設定するには、次のようにします。

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

    これにより、最高の録音品質が得られます。

    于 2012-05-10T17:50:35.287 に答える