倒数计时器的文字转语音

Text to speech for countdown timer

我有一个控制器可以显示我的倒计时应用程序的计时器。

显示定时器的代码:

String get timerString {
    duration = controller.duration * controller.value;
    return '${duration.inMinutes}:${(duration.inSeconds % 60).toString().padLeft(2, '0')}';
  }

我想添加一个 TTS,以便在计时器转到“3,2,1”时说话。就像倒计时 TTS。我尝试在 timerString 函数中实现 TTS,但持续时间变化太快,TTS 无法说话。

Future _speak(String text) async {
   var result = await flutterTts.speak(text);
 }

不要等待 speak() 方法。只需触发它,不要等待它。

这是一个倒计时的函数。

void countdown(FlutterTts tts, int from, Duration delay) async {
  for (var i = from; i > 0; i--) {
    tts.speak(i.toString());
    await Future.delayed(delay);
  }
}