最近遇到一个如何在耳机插入的情况下任然用扬声器播放音频的问题。
用搜索引擎找了一些网上的demo(案例) 。发现按照他们的方法成功实现。
插入耳机的时候也可以选择使用扬声器播放音乐,来电铃声就是这么用的。但是只能用MediaPlayer,播放音频文件。
问题的关键是某度搜出来的第一个解决方案没有在mainfest中添加如下权限。
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
import android.content.Context;
import android.media.AudioManager;
import android.media.MediaPlayer;
//这些包可以自己按照IDE提示自动生成
AudioManager audioManager = (AudioManager) this.getSystemService(Context.AUDIO_SERVICE);
audioManager.setMicrophoneMute(false);
audioManager.setSpeakerphoneOn(true);//使用扬声器外放,即使已经插入耳机
//setVolumeControlStream(AudioManager.STREAM_MUSIC);//控制声音的大小
audioManager.setMode(AudioManager.STREAM_MUSIC);