我正在使用一个handler.postdelayed来循环一个声音,其延迟可以由用户更改。但我希望声音只播放两次,然后停止。这是我到目前为止所做的,它无限循环:
eightHandler.postDelayed(new Runnable() {
@Override
public void run() {
soundpool.play(drum, 1, 1, 1, 0, 0);
eightRunnable = this;
handler.postDelayed(eightRunnable, delay);
}
}, delay/2);
发布于 2018-01-02 14:49:08
你可以这样做。
int i = 0;
eightHandler.postDelayed(new Runnable() {
@Override
public void run() {
soundpool.play(drum, 1, 1, 1, 0, 0);
eightRunnable = this;
if(i < 2){
handler.postDelayed(eightRunnable, delay);
}
i++;
}
}, delay/2);
https://stackoverflow.com/questions/48062952
复制