繁体   English   中英

如何使用Media Player android改组列表歌曲

[英]how to shuffle list song with Media Player android

我已经在媒体播放器中播放了一系列歌曲,但是不正确的工作请帮忙:

@Override
  public void onCompletion(MediaPlayer mediaPlayer) {

        if (isShuffle) {
          if (intent.hasExtra("songIndex")) {
            Random random = new Random();
            songIndex = random.nextInt((songList.size() - 1) + 1);
            playSongWithIndex(songIndex);
          }
        }
      }

和播放歌曲的方法:

public void playSongWithIndex(final int songIndex) {
    progressBar.setVisibility(View.VISIBLE);
    if (music_exist.exists()) {
      playMusicOfflineMode();
    } else {
      Log.e("TAG", "playSongWithIndex: "+songList.get(songIndex).getFile_128() );
      try {
        G.mediaPlayer.reset();
        G.mediaPlayer.setDataSource(songList.get(songIndex).getFile_128());
        G.mediaPlayer.prepareAsync();
        G.mediaPlayer.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
          @Override
          public void onPrepared(MediaPlayer mediaPlayer) {
            runOnUiThread(new Runnable() {
              @Override
              public void run() {
                setAdapterLyric(songManager.showTextInRecyclerView(songList.get(songIndex).getLyric()));

              }
            });
            G.mediaPlayer.start();
            music_name_text.setText(songList.get(songIndex).getEn_name());
            singer_name_text.setText(songList.get(songIndex).getSinger_name_en());
            comment_count_text.setText(songList.get(songIndex).getComment_count() + "");
            like_count_text.setText(songList.get(songIndex).getLike_count() + "");
            play_music_img.setImageResource(R.drawable.ic_pause_black_24dp);
            seekBar.setMax(G.mediaPlayer.getDuration());
            progressBar.setVisibility(View.INVISIBLE);
            play_music_img.setEnabled(true);
            timer = new Timer();
            timer.schedule(new MainTimer(), 0, 1000);

          }
        });
      } catch (IllegalArgumentException | IllegalStateException | IOException e) {
        e.printStackTrace();
      }
    }
  }

我面对这个日志:

E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/01_Cheri_Cheril_Lady.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/02_With_A_Little_Love.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/03_Don't_Give_Up.mp3
E/TAG: playSongWithIndex: http://cdn.oneremind.com/up/song/Modern_Talking/Let's_Talk_About_Love/04_Let's_Talk_About_Love.mp3

和Media Player卡在一个循环中,dos无法正常工作在哪里?

使用集合shullfe:

long seed = System.nanoTime();
Collections.shuffle(songList, new Random(seed));

为什么不用这种方式创建媒体播放器?

 G.mediaPlayer = MediaPlayer.create(this,Uri.parse("YourFilePath");//this is a context
 //Then start it without preparation.
 G.mediaPlayer.start();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM