2015-07-01 77 views
1

这种方法播放歌曲的次数,我点击播放按钮。它不应该发生,但它不工作每当我点击播放按钮它开始一首歌曲(前一首歌曲也在播放),它会在无限的时间内

 play.setOnClickListener(new View.OnClickListener() { 
     @Override 


     public void onClick(View v) { 
      path = Uri.parse("android.resource://" + getPackageName() + "/" + R.raw.chelseafc); 
      mediaPlayer = MediaPlayer.create(MainActivity.this, path); 


      length = mediaPlayer.getCurrentPosition(); 

      if (length == 0) { 
       mediaPlayer.start(); 

       // length = mediaPlayer.getCurrentPosition(); 

      } else if (length != 0) { 
       mediaPlayer.pause(); 
       mediaPlayer.seekTo(length); 
       mediaPlayer.start(); 
      } 
      // mediaPlayer.start(); 


     } 
    }); 
+0

在开始新歌之前,为什么不使用'MediaPlayer.isPlaying()'方法 –

+0

npinti谢谢... –

回答

1

你似乎并没有停止以前的歌曲。具有以下mediaPlayer = MediaPlayer.create(MainActivity.this, path);

假设这就是mediaPlayer初始化的唯一的地方,你可以替换该行

if((mediaPlayer != null) && (mediaPlayer.isPlaying())) 
    mediaPlayer.stop(); 

mediaPlayer = MediaPlayer.create(MainActivity.this, path); 

你可能还需要开始一个新的人之前先关闭当前的媒体播放器。

相关问题