0

ユーザーが電話を受けたときに、同じスピーカーと音量で mp3 オーディオ ファイルを再生したいと考えています。次のコードを使用しています

int result = audioManager.requestAudioFocus(afChangeListener,
                    AudioManager.MODE_IN_CALL,
                    AudioManager.AUDIOFOCUS_GAIN);
audioManager.setSpeakerphoneOn(true);

とともに

<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" /> 

マニフェストで

しかし、それは機能しません。音量は非常に大きいです。何か案が?

4

1 に答える 1

0

への呼び出しがsetSpeakerPhoneOn(最も可能性が高い) 行うことは、音楽と音声呼び出しの両方をラウドスピーカーにルーティングすることです。この場合、それらは一緒に混合され、音楽は音声呼び出しのサンプル レート (8 または 16 kHz) にダウンサンプリングされる可能性があります。 .

あなたが試すことができることの1つは、Android 4.0でスピーカーをプログラムでオン/オフする方法で私が提案した ことです。これにより、音声通話のオーディオをイヤホンにルーティングしながら、音楽のみをラウドスピーカーにルーティングできます。ただし、すべてのデバイスで動作することを保証するものではありません。

于 2012-12-03T15:46:09.967 に答える