1

私のアプリケーションでは、オーディオコール/オーディオブロードキャストを開始するときに、オーディオマネージャにオーディオフォーカスを要求しました。

audioManager.requestAudioFocus(null,audioManager.STREAM_VOICE_CALL, AudioManager.AUDIOFOCUS_GAIN_TRANSIENT| AudioManager.AUDIOFOCUS_GAIN_TRANSIENT_MAY_DUCK);

ユーザーがを押しHomeて別のメディアアプリケーションに移動し、メディアを再生すると、そのファイルも低音量で再生されます。電話を受けた人は、そのメディアサウンドファイルも聞くことができます。

音声通話の進行中に、ユーザーが音声リソースを再生しようとした場合、音声マネージャーにアプリケーションのみを優先するように指示するにはどうすればよいですか?

4

1 に答える 1

6

あなたが説明しているのは、Androidのデフォルトの動作です(私は信じています)。そうは言っても、あなたはあなたが望んでいることをすることができるはずです。Android SDKを使用すると、単一のストリームタイプをソロとして設定できます。これにより、他のすべてのストリームがミュートされます。これを行うには、次のAudioManager setStreamSolo()呼び出しを使用する必要があります。

audioManager.setStreamSolo(AudioManager.STREAM_VOICE_CALL, true);

再生の開始時にこれを行い、再生が終了するかアクティビティが終了するときにストリームソロをfalseに設定します。それでうまくいくかどうか教えてください。

役立つかもしれないリソースのカップル:

于 2012-07-12T17:39:40.427 に答える