Android媒体播放器播放列表和重置

时间:2014-03-30 11:56:35

标签: android smart-playlist

MediaPlayer mediaPlayer = Common.getMediaPlayer();
mediaPlayer.reset();
mediaPlayer.setAudioStreamType(AudioManager.STREAM_MUSIC);
mediaPlayer.setDataSource(this,Uri.parse(url));
mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
    @Override
    public void onPrepared(MediaPlayer mediaPlayer) {
        mediaPlayer.start();
    }
});
mediaPlayer.prepareAsync();

这是我用过的代码。我点击我播放的一些音乐。如果我点击另一首音乐,它会关闭旧音乐并播放新的音乐。但是我想我是否可以做,保持音乐1播放,一旦完成播放音乐2。

2 个答案:

答案 0 :(得分:1)

您可能想要维护歌曲列表并注册onCompletionListener以确定每首歌曲的完成时间。在onCompletion()回调中,你将从列表中弹出下一首歌并播放它。

因为你最终会有几个MediaPlayer监听器,所以最好避免匿名内部类带来的变量访问麻烦,并让你的封闭类实现它们。

所以你将使用完成监听器:

mediaPlayer.setOnCompletionListener(this);

implements OnCompletionListener添加到您的类定义中,并添加如下方法:

@Override
public void onCompletion(MediaPlayer mp) {
    // Pop next song from the list, prepare it, and play it.
}

答案 1 :(得分:-1)

添加oncomple侦听器,并将所有音乐放在任何数组列表中。记住当前的比赛项目。当一个完整的播放播放列表中的下一个。

    mediaPlayer.setOnCompletionListener(new OnCompletionListener() {
    @Override
    public void onCompletion(MediaPlayer mp) {
        // play next.
    }