的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命令并忽略。开始()。
答
您需要为您的MediaPlayer设置一个OnCompletionListener,在侦听器中将源设置为path2,准备并播放。 http://developer.android.com/reference/android/media/MediaPlayer.OnCompletionListener.html
显示错误'在状态128中调用attachNewPlayer'。 – brian 2012-04-19 08:07:19
对不起,编辑我的答案..现在检查。 – 2012-04-19 08:09:27
另一个错误“java.lang.IllegalStateException”和“at android.media.MediaPlayer.setDataSource(Native Method)”。 – brian 2012-04-19 08:17:32