我正在开发一个应用程序来执行以下操作:
当您按下按钮时,应用程序会播放持续两秒、五次的声音。第五次播放声音后,应用程序休眠 30 秒。睡觉后,这个循环再重复两次。
我的问题是第五次播放后我无法停止声音。我想我需要使用 for 循环或 while 循环,但我无法正确编程它们。
循环:
for(i=0; i==5; ) {
sound.start();
if(sound.isPlaying()) {
if(false) {
sound.stop();
i++;
}
}
}
sound.stop();
好吧,现在我构建了这段代码,但他唯一的错误是“for”不能正常工作……他没有重复他体内的代码两次。有人可以告诉我为什么吗?
for( counter=0; counter<2; ++counter){
new CountDownTimer(20000, 2000) {
public void onTick(long millisUntilFinished) {
//call to my UI thread every 2 seconds
sound.start();
}
public void onFinish() {
//final call to my UI thread after 10 seconds
chrono2.setBase(SystemClock.elapsedRealtime());
chrono2.start();
chrono2.setOnChronometerTickListener(new Chronometer.OnChronometerTickListener() {
public void onChronometerTick(Chronometer chronometer) {
// TODO Auto-generated method stub
long elapsedTime = SystemClock.elapsedRealtime()-chronometer.getBase();
Log.i(this.getClass().getName(), "" + elapsedTime);
if (elapsedTime > 10000){
chrono2.stop();
chrono2.setBase(SystemClock.elapsedRealtime());
Toast.makeText(getApplicationContext(), "" , Toast.LENGTH_SHORT).show();
}
}
});
} // end onFinish
}.start(); // end count down
}