我正在制作一个应用,其中需要根据倒数计时器的数字播放不同的声音。
// 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:00 到 :43 秒播放:
if (timeLeft >= 43) {
mp.start();
}
我需要下一个声音从 42 秒播放到 27 秒,如下所示:
if (timeLeft <42,>27) {
mp2.start();
}
显然这不起作用,我觉得我只是输入错误。我需要应用程序知道在计时器达到 43 秒时开始第二个声音然后在 27 秒停止。谢谢
最佳答案
您正在寻找这个:
else if(timeLeft <= 42 && timeLeft > 27)
{
mp2.start();
}
这将从 42 循环到 28,因此一旦它滴答到 27 它将停止。
对于 if 语句中的每个条件,您需要明确告诉编译器您正在比较的两个变量。在这种情况下,我们有 2 个条件:
timeLeft <= 42
和 timeLeft > 27
语句之间的比较可以是逻辑或或逻辑与
逻辑或由 ||
表示
逻辑与由 &&
表示
在您的情况下,您想使用逻辑 and 语句来比较您的两个条件。
关于android - 在两个数字之间的倒数计时器期间发出声音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27992414/