Я пытаюсь создать очень базовое c приложение, которое воспроизводит звук для каждой кнопки переключения, которое переключается при нажатии кнопки воспроизведения, но я не хочу, чтобы они воспроизводили звуки одновременно. Я хочу, чтобы все звуки воспроизводились с интервалом в 1 секунду. Метод воспроизведения, который я создал до сих пор, похоже, не работает, потому что я всегда слышу только 1 звук. Вот мой метод игры:
public void play() {
final Handler hand = new Handler();
hand.postDelayed(new Runnable() {
@Override
public void run() {
if (button1.isChecked()) {
sp.play(snareId, 10, 10, 1, 0, 1);
}
}
}, 0);
hand.postDelayed(new Runnable() {
@Override
public void run() {
if (button2.isChecked()) {
sp.play(snareId, 10, 10, 1, 0, 1);
}
}
}, 1000);
hand.postDelayed(new Runnable() {
@Override
public void run() {
if (button3.isChecked()) {
sp.play(snareId, 10, 10, 1, 0, 1);
}
}
}, 2000);
hand.postDelayed(new Runnable() {
@Override
public void run() {
if (button4.isChecked()) {
sp.play(snareId, 10, 10, 1, 0, 1);
}
}
}, 3000);
}
Я не очень понимаю, почему это не работает должным образом. Кроме того, есть ли еще один более простой способ достичь той же цели?