How to mute audio in headset but let it play on speaker programmatically?
Solution 1:
AudioManager am = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
am.setMode(AudioManager.MODE_IN_CALL);
am.setSpeakerphoneOn(true);
And then play the sound through the AudioManager.STREAM_SYSTEM
stream.
When the sound's finished playing be sure to return the audio manager to its previous state or it'll stay on loudspeaker!!
Solution 2:
AudioManager mAudioMgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioMgr.setSpeakerphoneOn(true); mAudioMgr.setMode(AudioManager.MODE_IN_COMMUNICATION);