Swift - 完成后重置/重启SpeechSynthesizer

时间:2017-07-18 19:41:00

标签: swift avspeechsynthesizer avspeechutterance

我正在编写应用程序以向学生阅读随机学习问题。

基本流程是:

  • 生成随机问题
  • 将文本分配给SpeechUtterrance
  • 使用SpeechSynthesizer播放SpeechUtterance
  • 获得学生的答案
  • 检查
  • 生成新的随机问题
  • 重复

除了我不能阅读多个问题之外,一切正常。它会说第一个,接受一个答案,但我无法阅读后续的话语。

在运行didFinish之后,我可以调用一个方法来重置SpeechSynthesizer / SpeechUtterance吗?

1 个答案:

答案 0 :(得分:0)

所以我使用的是SFSpeechRecognizer和AVSpeechSynthesizer并启动录音机切断音频通道播放音频。

我不得不改变

try audioSession.setCategory(AVAudioSessionCategoryRecord)

try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)

这解决了我的问题。