问题
I am searching a work-around for my problem specified in this question:
How to disable the wired headset programmatically in Java
As mentioned there, I am getting audio in both my speakers and headphones.
Can someone please tell me how to mute the audio in the headset programmatically, while letting it play undiminished on speaker?
回答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!!
回答2:
AudioManager mAudioMgr = (AudioManager)getSystemService(Context.AUDIO_SERVICE); mAudioMgr.setSpeakerphoneOn(true); mAudioMgr.setMode(AudioManager.MODE_IN_COMMUNICATION);
来源:https://stackoverflow.com/questions/20965530/how-to-mute-audio-in-headset-but-let-it-play-on-speaker-programmatically