У меня есть несколько примеров звука массива, я хочу воспроизвести следующий звук, когда другие звуки будут закончены, и нет повторения, когда звуковой массив закончен. Но когда массив закончен, он повторяется. как сделать так, чтобы массив не повторялся?
Я искал, но моя проблема не решена
публичный класс Balok расширяет AppCompatActivity {
int [] sound;
int soundke = 0;
MediaPlayer mediaPlayer;
int selesai = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_balok);
sound = new int[] {R.raw.swoosh1, R.raw.swoosh2, R.raw.decision};
mediaPlayer = MediaPlayer.create(balok.this, sound[0]);
mediaPlayer.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
selesai++;
if (selesai == 2) {
mediaPlayer.release();
} else {
play();
}
}
});
}
private void play () {
soundke = (soundke+1) % 3;
AssetFileDescriptor afd = this.getResources().openRawResourceFd(sound[soundke]);
try {
mediaPlayer.reset();
mediaPlayer.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getDeclaredLength());
mediaPlayer.prepare();
mediaPlayer.start();
afd.close();
} catch (IOException e) {
}
}
Я надеюсь, что когда звуковой массив закончится, петли не будет,
извините, если мой язык сбивает с толку, я надеюсь, вы можете помочь мне