嘿所有,所以有一個相當小的,但惱人的問題與CountDownTimer。目前我有一個時間間隔設置爲1000,我試圖探測毫秒的留在我的millisUntilFinished如何檢測不到確切的CountDownTimer間隔?
onTick()
方法的量。
//Speak when 20 seconds left
if (millisUntilFinished == 20000) {
tts.speak("You have 20 seconds left.", TextToSpeech.QUEUE_FLUSH, null);
}
計時器無法精確地檢測20000毫秒:所以,當有還剩20秒,10秒的等那麼,如果我用我可以使用文本到語音。
所以我不得不求助於使用:
//Speak when 20 seconds left
if (millisUntilFinished < 20999) {
if (millisUntilFinished > 19999) {
tts.speak("You have 20 seconds left.", TextToSpeech.QUEUE_FLUSH, null);
}
}
但問題是,有時文本到語音將在該間隔期間來上兩次。有什麼辦法可以精確地檢測毫秒,所以我不必使用大於或小於?
有點骯髒,但它很簡單,添加一個布爾值,以防止說兩次。 – user432209 2011-01-28 03:58:33