Android - 通过扬声器播放音频

时间:2012-12-03 15:35:58

标签: android audio

当用户接到电话时,我想播放具有相同扬声器和音量的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" /> 
清单中的

但它不起作用。音量非常高。 有什么想法吗?

1 个答案:

答案 0 :(得分:0)

setSpeakerPhoneOn(最有可能)的呼叫是将音乐和语音呼叫路由到扬声器,在这种情况下,它们可能混合在一起,音乐可能会被下采样到语音呼叫采样率(8或16 kHz)。

您可以尝试的一件事是我在how to turn speaker on/off programatically in android 4.0中提出的建议 这可以让您只将音乐传送到扬声器,同时将语音通话音频路由到听筒。但不保证可以在所有设备上运行。