问题如标题,第一次打开播放器放歌曲,然后在不停止的情况下,重新打开,再播放时,就成了二重唱,依次类推,三重唱......谁有思路的帮下忙,谢谢......

解决方案 »

  1.   

    选择文件时,别直接setDataSource("/sdcard/abc.mp3")
    要选判断,if(myPlayer.isPlaying() == true){myPlayer.reset();}
    然后再prepare(),start();
      

  2.   

    我是这么做的
                    mMediaPlayer.reset();
                    mMediaPlayer.setOnPreparedListener(null);
                    if (path.startsWith("content://")) {
                        mMediaPlayer.setDataSource(MediaPlaybackService.this, Uri.parse(path));
                    } else {
                        mMediaPlayer.setDataSource(path);
                    }
                    mMediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
                    mMediaPlayer.prepare();
      

  3.   

    楼上的代码你写在activity里面么?还是要加个判断呀在调用你这个代码前判断或者在xml里面设置activity的一个属性是单例的activity
      

  4.   

    先判断如果有MediaPlayer不是出于idle状态,就不重新设置新曲目播放,如果要设置新歌曲,需要先停掉原来的歌曲。
      

  5.   

    谢谢各位了,我把音乐播放器的Demo弄完了,至于这个问题?我还是没解决,只是把后台播放关闭了,其他功能都还好,不是项目需要也不急,只是心血来潮研究一下,麻烦各位了......