Reputation: 336
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?
Upvotes: 6
Views: 4975
Reputation: 21
maybe you need to audioManager.setMode(AudioManager.MODE_IN_CALL) or MODE_IN_COMMUNICATION;
Upvotes: 1
Reputation: 2096
The method AudioManager.setRouting()
is depreciated.
From the Javadoc:
Do not set audio routing directly, use
setSpeakerphoneOn()
,setBluetoothScoOn()
methods instead.
Upvotes: 1
Reputation: 11537
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
Upvotes: 3