媒体播放器播放两次

Wag*_*ith 2 media audio android path media-player

我有一个媒体播放器,但是当选择另一个文件时,它会继续播放旧文件和新文件,因此它会同时播放两个文件,这是我的 onCreate 方法

private MediaPlayer mediaplayer = new MediaPlayer();
private Handler handler = new Handler();
@Override
protected void onCreate(Bundle savedInstanceState) {

// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.songplaying);

// Getting Our Extras From Intent
 Bundle names = getIntent().getExtras();

// Getting Specific Data

 path = names.getString("pathkeyword");


 //Start Player
 try {
    playAudio(path);

} catch (Exception e) {
   e.printStackTrace();
Run Code Online (Sandbox Code Playgroud)

}

这是播放音频的方法

 private void playAudio(String url) throws Exception{

  mediaplayer.release();
  mediaplayer.setDataSource(url);
  mediaplayer.prepare();
  mediaplayer.start();
Run Code Online (Sandbox Code Playgroud)

Ram*_*ula 5

当您开始播放歌曲时,检查它是否正在播放,如果正在播放则停止它。

     if(player.isPlaying())
      {  
        mediaplayer.stop();
       } 
        mediaplayer.reset();

  mediaplayer.setDataSource(url);
  mediaplayer.prepare();
  mediaplayer.start();
Run Code Online (Sandbox Code Playgroud)

不需要释放仅当不再需要播放器时才使用的player.player.release()。

每当 Activity 销毁时,您都必须使用 stop() 和 release() 方法。否则很多玩家都在后台运行。