我有一个控制器显示我的倒计时应用程序的计时器。
显示计时器的代码:
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);
}
}