我使用下面的代码在后台播放音频:
String[] Path = new String[] {path1, path2, ...};
mMediaPlayer.setDataSource(Path[i]);
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.seekTo(0);
当我在后台播放第一个 Path[0] 时。我想让它在 Path[0] 播放完成后自动播放下一个 Path[1],如何到达?
我使用下面的代码在后台播放音频:
String[] Path = new String[] {path1, path2, ...};
mMediaPlayer.setDataSource(Path[i]);
mMediaPlayer.prepare();
mMediaPlayer.start();
mMediaPlayer.seekTo(0);
当我在后台播放第一个 Path[0] 时。我想让它在 Path[0] 播放完成后自动播放下一个 Path[1],如何到达?
你应该像这样覆盖 onCompletionListener,
mMediaPlayer.setOnCompletionListener(new OnCompletionListener() {
public void onCompletion(MediaPlayer mp) {
Log.i("Completion Listener","Song Complete");
mp.stop();
mp.reset();
mp.setDataSource([nextElement]);
mp.prepare();
mp.start();
}
});
如果您在 MediaPlayer 中使用 onPreparedListener,那么您还可以使用 prepareAsync 命令并忽略 .start()。
您需要为您的 MediaPlayer 设置一个 OnCompletionListener,在侦听器中将源设置为 path2,准备并播放。 http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html