Нужно выбрать другой случайный трек после остановки предыдущего, нажав кнопку «Стоп»
Я играю случайную дорожку, нажимая кнопку «воспроизведение», останавливая ее, нажимая «стоп», а затем мне нужно снова выполнить рандомизацию, другими словами, чтобы выбрать другую дорожку.
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
Button play36 = (Button) findViewById(R.id.threesix);
Button stop = (Button) findViewById(R.id.stop);
String[] listOfFiles = new String[0];
try {
listOfFiles = getAssets().list("");
final List<String> musicOnlyList = new ArrayList<>();
for (int i = 0; i < listOfFiles.length; i++) {
if (getExtension(listOfFiles[i]).equals("mp3"))
musicOnlyList.add(listOfFiles[i]);
}
final MediaPlayer mediaPlayer = new MediaPlayer();
play36.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int itemIndex = new Random().nextInt(musicOnlyList.size());
String file = musicOnlyList.get(itemIndex);
AssetFileDescriptor afd = null;
try {
afd = getAssets().openFd(file);
mediaPlayer.reset();
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
mediaPlayer.prepare();
} catch (IOException e) {
e.printStackTrace();
}
mediaPlayer.start();
}
});
stop.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
mediaPlayer.stop();
mediaPlayer.reset();
}
});
} catch (IOException e) {
e.printStackTrace();
}
В этом случае я получаю один и тот же трек каждый раз, когда запускаю и останавливаю игрока, но нужно каждый раз рандомизировать, нажимая кнопку «играть»