首页 > 技术文章 > 调用AudioManager后,导致系统播放音乐没有声音的解决办法

lanlengran 2017-01-02 11:26 原文

到公司不久,接到一个项目,在调试该项目时发现,在运行改项目后,手机会出现播放音乐没有声音的情况出现

多次查找,定位问题代码如下

   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);

  就可以解决问题了

推荐阅读