当耳机插入时,通过扬声器传送音频

时间:2010-11-25 06:14:38

标签: android audio media

即使插入耳机,我们如何通过扬声器传送音频输出?

我的代码:

    if(audioManager.isWiredHeadsetOn())
    {
        audioManager.setWiredHeadsetOn(false);
        audioManager.setSpeakerphoneOn(true); 
        audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_SPEAKER, AudioManager.ROUTE_ALL);  
        audioManager.setMode(AudioManager.MODE_NORMAL); 

    }

我在这里错过了什么吗?

3 个答案:

答案 0 :(得分:3)

您是否尝试将<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />添加到AndroidManifest.xml?

http://developer.android.com/reference/android/Manifest.permission.html#MODIFY_AUDIO_SETTINGS

答案 1 :(得分:1)

方法AudioManager.setRouting()已弃用。

来自Javadoc:

  

请勿直接设置音频路由,而是使用setSpeakerphoneOn()setBluetoothScoOn()方法。

答案 2 :(得分:1)

也许你需要audioManager.setMode(AudioManager.MODE_IN_CALL)或MODE_IN_COMMUNICATION;