【发布时间】:2017-02-20 03:52:12
【问题描述】:
我有一个带有音乐播放器的应用程序,我正在使用 @override 方法 OnCompletionListener 在音乐完成时收听并传递到下一首歌曲,下面的代码有效,但在第二首歌曲完成时 OncompletionListener 没有调用又和音乐结束时停止,如何继续转到下一首歌?
OnCompletionListener
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
NextSong();
}
});
下一首歌曲 方法
public void NextSong (){
num = posicion++;
if (MainActivity.num <= MainActivity.listaArray.size() - 2) {
mediaPlayer.reset();
uri = Uri.parse(String.valueOf(archivosMp3[num + 1]));
mmr.setDataSource(String.valueOf(archivosMp3[num + 1]));
mediaPlayer = mediaPlayer.create(Servicio_Reproductor.this, MainActivity.uri);
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mediaPlayer.start();
}
});
【问题讨论】:
-
无法回答您的问题。你说的第二首歌是什么意思?
-
我有一个播放列表,我播放一首歌曲,当歌曲完成时 onCompletionListener 被调用并且播放列表的下一首歌曲开始,但是当这首歌曲完成时不会继续传递到下一首歌曲。我认为 Oncompletion 监听器不会再次调用。
标签: java android eclipse android-mediaplayer android-studio-2.2