Route audio through the speaker when connecting headphones

How can we direct the audio output through the speaker, even when the headset is connected?

My code is:

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); } 

Did I miss something?

+6
android audio media
source share
3 answers

Have you tried 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

+3
source share

The AudioManager.setRouting() method is depreciating.

From Javadoc:

Do not set direct audio routing, use setSpeakerphoneOn() , setBluetoothScoOn() .

+1
source share

perhaps you need to use audioManager.setMode (AudioManager.MODE_IN_CALL) or MODE_IN_COMMUNICATION;

+1
source share

All Articles