问题
How we can route audio output via speaker even when the headset is plugged in?
My code:
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);
}
Am I missing something here?
回答1:
Did you try adding <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
to your AndroidManifest.xml ?
http://developer.android.com/reference/android/Manifest.permission.html#MODIFY_AUDIO_SETTINGS
回答2:
The method AudioManager.setRouting() is depreciated.
From the Javadoc:
Do not set audio routing directly, use setSpeakerphoneOn(), setBluetoothScoOn() methods instead.
回答3:
maybe you need to audioManager.setMode(AudioManager.MODE_IN_CALL) or MODE_IN_COMMUNICATION;
来源:https://stackoverflow.com/questions/4274238/route-audio-via-speaker-when-headphone-plugged-it