废话不多说,直接上代码:
private void setSpeakerphoneOn(boolean on) {
if (on) {
// 为true打开喇叭扩音器;为false关闭喇叭扩音器.
audioManager.setSpeakerphoneOn(true);
} else {
audioManager.setSpeakerphoneOn(false);//关闭扬声器
audioManager.setRouting(AudioManager.MODE_NORMAL, AudioManager.ROUTE_EARPIECE, AudioManager.ROUTE_ALL);
setVolumeControlStream(AudioManager.STREAM_VOICE_CALL);
//把声音设定成Earpiece(听筒)出来,设定为正在通话中
// audioManager.setMode(AudioManager.MODE_IN_CALL);
audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION);
}
}
这里将audioManager.setMode(AudioManager.MODE_IN_CALL)注释掉换成audioManager.setMode(AudioManager.MODE_IN_COMMUNICATION)的原因是因为
Android 5.0版本限制使用AudioManager.MODE_IN_CALL模式了,除非是系统应用,第三方应用使用AudioManager.MODE_IN_COMMUNICATION替代之
06月18日18:20:23
发现个问题
如果觉得《android 听筒模式外放模式的切换 YY项目之Android 听筒 扬声器 切换》对你有帮助,请点赞、收藏,并留下你的观点哦!