当用户接到电话时,我想播放具有相同扬声器和音量的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" />
清单中的
但它不起作用。音量非常高。 有什么想法吗?
答案 0 :(得分:0)
setSpeakerPhoneOn
(最有可能)的呼叫是将音乐和语音呼叫路由到扬声器,在这种情况下,它们可能混合在一起,音乐可能会被下采样到语音呼叫采样率(8或16 kHz)。
您可以尝试的一件事是我在how to turn speaker on/off programatically in android 4.0中提出的建议 这可以让您只将音乐传送到扬声器,同时将语音通话音频路由到听筒。但不保证可以在所有设备上运行。