Как использовать прослушиватель OnCompletion для какой-либо музыки? Я бы хотел нажать кнопку, чтобы перейти к другому мероприятию, которое воспроизводит музыку, а затем возвращается, когда воспроизведение музыки закончено. Я уже закодировал другой материал. Я просто не могу понять, как использовать слушателя OnCompletion?
Прослушиватель OnCompletion с MediaPlayer
Ответ 1
Вы должны поместить код, который должен быть запущен, когда музыка завершена в OnCompletionListener
, например:
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
finish(); // finish current activity
}
});
Ответ 2
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
}
});
Ответ 3
Я считаю, что выше правильно, но я боролся с тем, где разместить код. См. Ниже, я помещаю этот код после моего кода, чтобы начать настройку!
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();
}
});
}
});
Ответ 4
У меня та же проблема, я не хочу завершать деятельность и запускать новую. Я просто хочу непрерывно запускать прослушиватель onOompletion, пока не будет воспроизведена вся музыка в списке массивов.