使用MediaPlayer的OnCompletion侦听器

Sno*_*noX 26 android listener media-player

如何使用OnCompletion监听器播放某些音乐?我想按一个按钮转到另一个播放音乐的活动,然后在音乐播放结束时返回.我已经编写了其他的东西.我只是想弄清楚如何使用OnCompletion监听器?

MBy*_*ByD 51

您应该在音乐完成时放置应该运行的代码,OnCompletionListener例如:

mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
    public void onCompletion(MediaPlayer mp) {
        finish(); // finish current activity
    }
});
Run Code Online (Sandbox Code Playgroud)


Ish*_*shu 7

mPlayer.setOnErrorListener(new OnErrorListener() {
public boolean onError(MediaPlayer paramMediaPlayer, int paramInt1,int paramInt2) {
// TODO Auto-generated method stub
//your code if any error occurs while playing even you can show an alert to user
return true;
}
});
mPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
// TODO Auto-generated method stub
//your code if the file was completely played either show an alert to user or start another activity or file.
//even you can finish you activity here
}                   
}); 
Run Code Online (Sandbox Code Playgroud)


小智 5

我发现上面是正确的,但是我正在努力在哪里放置代码。见下文,我将此代码放在我的代码之后以开始调试!

playButton.setOnClickListener(new View.OnClickListener() {
  @Override
  public void onClick(View v) {
    mediaPlayer.start();       //Next line is the beginning of where to place the code.
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
      @Override
      public void onCompletion(MediaPlayer mediaPlayer) {
      Toast.makeText(MainActivity.this, "I'm Finished", Toast.LENGTH_SHORT).show();
      }
    });
  }
});
Run Code Online (Sandbox Code Playgroud)