0

イヤホンからオーディオを再生する必要があります。デバイスでサウンドを再生するために AudioTrack を使用しています。オーディオ モードは STREAM_VOICE_CALL として設定されます。また、私のアクティビティでは、スピーカーフォンは次の方法でオフになっています。

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

これは 2.3 デバイスで完全に動作するようです。ただし、2.1 では、サウンドは引き続きスピーカーから再生されます。

これを修正するために、次のように setMode() を使用してみました。

am.setMode(AudioManager.MODE_IN_CALL);

これで、2.1と2.3ではイヤピースから音が出ていましたが、2.3では全く出ないことがほとんどでした。また、setMode() はシステム全体の電話の状態に影響するため、アプリで使用すべきではないことをいくつかの場所で読みました。ここ: http://code.google.com/p/sipdroid/issues/detail?id=270

何か助けはありますか?

4

1 に答える 1

0

2.3 より前の Android では、少しバグがありましたsetSpeakerPhoneOn()この回答によると、両方の API メソッドを使用する必要があると思います。

2.3 オーディオがまったく再生されない場合は、通話中の音量設定を確認してください (これが使用されます)。使用前の電話の状態を追跡してみてくださいsetMode()。おそらくMODE_NORMAL、オーディオマネージャーが使用されなくなったら元に戻してください。

于 2012-04-19T18:28:16.300 に答える