我正在创建一个应用程序,根据倒数计时器所在的数字,需要播放不同的声音。
// Define CountDown Timer Attributes//
waitTimer1 = new CountDownTimer(60000, 1000) {
@Override
public void onTick(long millisUntilFinished) {
long timeLeft = millisUntilFinished / 1000;
Timer.setText("" + String.format("%d min, %d sec",
TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished),
TimeUnit.MILLISECONDS.toSeconds(millisUntilFinished) -
TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millisUntilFinished))));
if (timeLeft >= 43) {
mp.start();
}
}
@Override
public void onFinish() {
t1.setEnabled(true);
t2.setEnabled(true);
next.setEnabled(false);
Timer.setText("0:00");
next.setText("Start");
waitTimer1 = null;
}
}.start();
到目前为止,我有这样的声音从1点到43秒播放,如此:
if (timeLeft >= 43) {
mp.start();
}
我需要在42秒到27秒之间播放下一个声音:
if (timeLeft <42,>27) {
mp2.start();
}
显然这不起作用我觉得我只是输错了。当计时器达到43秒然后停在27秒时,我需要应用知道开始第二个声音。感谢
答案 0 :(得分:1)
您正在寻找:
else if(timeLeft <= 42 && timeLeft > 27)
{
mp2.start();
}
这将从42到28循环,因此一旦它打到27,它就会停止。
对于if语句中的每个条件,您需要明确告诉编译器您要比较的两个变量。在这种情况下,我们有两个条件:
timeLeft <= 42
和timeLeft > 27
陈述之间的比较可以是逻辑或或逻辑
逻辑或由||
逻辑并由&&
在您的情况下,您希望使用逻辑和语句来比较您的两个条件。