如何使用OnCompletion监听器播放音乐? 我想按下按钮进入另一个活动,播放一些音乐,然后在音乐播放完成后返回。 我已经编写了其他的代码,但我不知道如何使用OnCompletion监听器?
如何使用OnCompletion监听器播放音乐? 我想按下按钮进入另一个活动,播放一些音乐,然后在音乐播放完成后返回。 我已经编写了其他的代码,但我不知道如何使用OnCompletion监听器?
你应该将在音乐播放完毕时需要运行的代码放在OnCompletionListener
中,例如:
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
finish(); // finish current activity
}
});
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
}
});
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();
}
});
}
});
这是 setOnCompletionListener 的 Kotlin 版本:
mediaPlayer.setOnCompletionListener(MediaPlayer.OnCompletionListener { it // this is MediaPlayer type
Log.d(TAG,"setOnCompletionListener OnCompletionListener called")
// do other task
})