Привет всем, поэтому есть небольшая, но раздражающая проблема с CountDownTimer. В настоящее время у меня установлен интервал 1000. И я пытаюсь определить количество миллисекунд, оставшихся в моем
onTick()
метод. Так что я могу использовать текст в речь, когда осталось 20 секунд, осталось 10 секунд и т. Д. Хорошо, если я использую:
//Speak when 20 seconds left
if (millisUntilFinished == 20000) {
tts.speak("You have 20 seconds left.", TextToSpeech.QUEUE_FLUSH, null);
}
Таймер не может точно определить 20000 миллисекунд.
Поэтому я должен прибегнуть к использованию:
//Speak when 20 seconds left
if (millisUntilFinished < 20999) {
if (millisUntilFinished > 19999) {
tts.speak("You have 20 seconds left.", TextToSpeech.QUEUE_FLUSH, null);
}
}
Проблема в том, что иногда текст в речи повторяется дважды в течение этого интервала. Есть ли способ точно определить миллисекунды, чтобы мне не приходилось использовать больше или меньше?