Может кто-нибудь помочь мне воспроизвести аудио с повторением?так что звук будет воспроизводиться последовательно в один клик
это код для воспроизведения звука без повторов
private void panggilAntrian(){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.nomor);
panggil.start();
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
cekNomor("158");
}
});
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.silahkan);
panggil.start();
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.loket);
panggil.start();
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
cekNomor("158");
}
});
}
});
}
});
}
в коде есть функция для воспроизведения звука с повторениемкаждая цифра номер.функция для повторного воспроизведения звука на основе номера цифры:
private void cekNomor(String kata){
final String[] noPanggil = kata.split("(?<=\\G.{1})");
for(i=0; i<noPanggil.length; i++){
switch (noPanggil[i]){
case "0":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.nol);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.nol);
}
});
}
break;
case "1":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.satu);
Log.e("SUARA", noPanggil[i]);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.satu);
}
});
}
break;
case "2":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.dua);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.dua);
}
});
}
break;
case "3":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.tiga);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.tiga);
}
});
}
break;
case "4":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.empat);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.empat);
}
});
}
break;
case "5":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.lima);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.lima);
Log.e("SUARA", noPanggil[i]);
}
});
}
break;
case "6":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.enam);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.enam);
}
});
}
break;
case "7":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.tujuh);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.tujuh);
}
});
}
break;
case "8":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.delapan);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.delapan);
Log.e("SUARA", noPanggil[i]);
}
});
}
break;
case "9":
if(i==0){
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.sembilan);
}else{
panggil.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mediaPlayer) {
panggil = MediaPlayer.create(AntrianLoket.this, R.raw.sembilan);
}
});
}
break;
}
panggil.start();
}
}
выход для проверки Первый номер () ничего не воспроизводит, тогда как для проверки Второй номер () воспроизводит только первый индекс, т.е."1".в то время как оба checkNumber () должны воспроизводить три аудио последовательно.кто-нибудь может мне помочь?