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) .

您可以尝试的一件事是我在如何在 android 4.0 中以编程方式打开/关闭扬声器的建议, 这可以让您只将音乐路由到扬声器,而语音通话音频被路由到听筒。但不能保证在所有设备上都能正常工作。

于 2012-12-03T15:46:09.967 回答