MediaPlayer在后台播放音频并播放下一个音频

时间:2012-04-19 07:48:43

标签: android media-player

我使用下面的代码在后台播放音频:

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

我在后台播放第一个Path [0]。 我想在Path [0]播放结束后自动播放下一个Path [1],如何到达它?

2 个答案:

答案 0 :(得分:24)

你应该像这样重写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,则cal也使用prepareAsync命令并忽略.start()。

答案 1 :(得分:3)

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