如何播放数组中的下一首歌曲?
How to play the next song in an array?
对于一项作业,我正在尝试使用媒体播放器播放数组中的歌曲。阵列中的第一首歌曲播放正常,但下一首和最后一首曲目按钮是我的问题所在。谁能建议一种从我的音乐阵列中播放 next/last 歌曲的方法?
None 未包含相关代码。
// 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");
}
}
});
use below code for next button click
nextTrack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
mp.reset();
mp.setDataSource(audioArray[currentIndex + 1]);
mp.prepare();
mp.start();
}
对于一项作业,我正在尝试使用媒体播放器播放数组中的歌曲。阵列中的第一首歌曲播放正常,但下一首和最后一首曲目按钮是我的问题所在。谁能建议一种从我的音乐阵列中播放 next/last 歌曲的方法?
None 未包含相关代码。
// 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");
}
}
});
use below code for next button click
nextTrack.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mp.stop();
mp.reset();
mp.setDataSource(audioArray[currentIndex + 1]);
mp.prepare();
mp.start();
}