倒数计时器在两个数字之间发出声音

时间:2015-01-16 20:39:26

标签: android audio timer android-mediaplayer

我正在创建一个应用程序,根据倒数计时器所在的数字,需要播放不同的声音。

  // 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秒时,我需要应用知道开始第二个声音。感谢

1 个答案:

答案 0 :(得分:1)

您正在寻找:

else if(timeLeft <= 42 && timeLeft > 27)
{
    mp2.start();
}

这将从42到28循环,因此一旦它打到27,它就会停止。

对于if语句中的每个条件,您需要明确告诉编译器您要比较的两个变量。在这种情况下,我们有两个条件:

timeLeft <= 42timeLeft > 27

陈述之间的比较可以是逻辑或逻辑

逻辑或由||

表示

逻辑并由&&

表示

在您的情况下,您希望使用逻辑和语句来比较您的两个条件。