【问题标题】:Android media player playlist and resetAndroid 媒体播放器播放列表和重置
【发布时间】:2014-03-30 11:56:35
【问题描述】:
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。

【问题讨论】:

    标签: android smart-playlist


    【解决方案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.
    }
    

    【讨论】:

      【解决方案2】:

      添加 oncomple listener ,并将您的所有音乐放在任何数组列表中。继续记住当前播放的项目。当一个完成播放播放列表中的下一个。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多