参考:
- 创建第一个播放器,播放;
- 同时创建第二个播放器,准备;
- 第一个播放器播放完毕立马启动第二个;
- 然后创建第三个播放器,准备;
- 如此往复,直到用户停止…
private MediaPlayer mPlayer, mNextPlayer;
private int mPlayResId = R.raw.water;
public void testLoopPlayer() {
mPlayer = MediaPlayer.create(this, mPlayResId);
mPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mediaPlayer) {
mPlayer.start();
}
});
createNextMediaPlayer();
}
private void createNextMediaPlayer() {
mNextPlayer = MediaPlayer.create(this, mPlayResId);
mPlayer.setNextMediaPlayer(mNextPlayer);
mPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
mp.release();
mPlayer = mNextPlayer;
createNextMediaPlayer();
}
});
}