的MediaPlayer在背景中播放的音频和下一个

问题描述:

我用下面的代码在背景中播放的音频播放:的MediaPlayer在背景中播放的音频和下一个

String[] Path = new String[] {path1, path2, ...}; 
mMediaPlayer.setDataSource(Path[i]); 
mMediaPlayer.prepare(); 
mMediaPlayer.start(); 
mMediaPlayer.seekTo(0); 

虽然我在背景中播放的第一个路径[0]。 我想让它在路径[0]播放完成后自动播放下一个路径[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(); 
    } 
}); 

如果使用onPreparedListener在你的MediaPlayer,那么你也CAL使用prepareAsync命令并忽略。开始()。

+0

显示错误'在状态128中调用attachNewPlayer'。 – brian 2012-04-19 08:07:19

+0

对不起,编辑我的答案..现在检查。 – 2012-04-19 08:09:27

+0

另一个错误“java.lang.IllegalStateException”和“at android.media.MediaPlayer.setDataSource(Native Method)”。 – brian 2012-04-19 08:17:32

您需要为您的MediaPlayer设置一个OnCompletionListener,在侦听器中将源设置为path2,准备并播放。 http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html