倒数计时器的语音提示

问题描述 投票:0回答:1

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

“截图”

显示计时器的代码:

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);
 }
flutter text-to-speech countdowntimer
1个回答
1
投票

不等待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);
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.