调用AudioManager后,导致系统播放音乐没有声音的解决办法
到公司不久,接到一个项目,在调试该项目时发现,在运行改项目后,手机会出现播放音乐没有声音的情况出现
多次查找,定位问题代码如下
Uri ringUri = RingtoneManager.getDefaultUri(RingtoneManager.TYPE_RINGTONE); audioManager = (AudioManager) mContext.getSystemService(Context.AUDIO_SERVICE); // audioManager.setMode(AudioManager.MODE_RINGTONE); audioManager.setMode(AudioManager.MODE_RINGTONE); audioManager.setSpeakerphoneOn(true); ringtone = RingtoneManager.getRingtone(mContext, ringUri); ringtone.play(); //震动 vibrator = (Vibrator) mContext.getSystemService(Service.VIBRATOR_SERVICE); vibrator.vibrate(new long[]{1000, 10, 100, 1000}, 0);
经过自己实验后发现,是前面写代码的人,把系统的模式,设置为了铃声模式,在改模式下,音乐播放是没有声音的
只需要在停止铃声播放后,调用该方法。
audioManager.setSpeakerphoneOn(false); audioManager.setMode(AudioManager.MODE_NORMAL);
就可以解决问题了