如何播放阵列中的下一首歌?

问题描述 投票:0回答:1

对于作业,我正在尝试使用媒体播放器播放阵列中的歌曲。数组中的第一首歌可以正常播放,但是下一首和最后一首曲目按钮是我的问题所在。任何人都可以建议一种从我的音乐阵列播放下一首/最后一首歌的方法吗?

没有包含相关代码。

// Arrays of sound files
private int[] audioFileArrayChill = {R.raw.vanilla_summer, R.raw.lifeline, R.raw.remember_the_mountain_bed};`

// Listen for the end of the track
    mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
        @Override
        public void onCompletion(MediaPlayer mp) {
            for (int x = 1; x <= audioArray.length; x++) {
                currentIndex++;
                // Play next song in array
                mp.selectTrack(audioArray[x]);
                mp.start();

            }

        }
    });


 // Assigning onClickListener to last track button
    lastTrack.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaPlayer.reset();
            mediaPlayer.selectTrack(audioArray[currentIndex - 1]);
            try {
                mediaPlayer.prepare();
                mediaPlayer.start();
            } catch (IOException e) {
                Log.e("Error", "ERROR");

            }

        }
    });


// Assigning onClickListener to next track button
    nextTrack.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
            mediaPlayer.reset();
            mediaPlayer.selectTrack(audioArray[currentIndex + 1]);
            try {
                mediaPlayer.prepare();
                mediaPlayer.start();
            } catch (IOException e) {
                Log.e("Error", "ERROR");

            }


        }
    });
java android arrays media-player
1个回答
0
投票

使用下面的代码进行下一次按钮点击

  nextTrack.setOnClickListener(new View.OnClickListener() {
   @Override
   public void onClick(View v) {
      mp.stop();
      mp.reset();
      mp.setDataSource(audioArray[currentIndex + 1]);
      mp.prepare();              
      mp.start();
   }
© www.soinside.com 2019 - 2024. All rights reserved.