Swift - сбросить / перезапустить SpeechSynthesizer после его завершения

Я пишу приложение, чтобы читать студентам случайные вопросы для изучения.

Основной поток:

  • Создать случайный вопрос
  • Присвойте текст SpeechUtterrance
  • Воспроизведение речевого высказывания с помощью синтезатора речи
  • Получить ответ студента
  • Проверь это
  • Создать новый случайный вопрос
  • Повторение

Все работает, за исключением того, что я не могу прочитать больше одного вопроса. Он заговорит первым, примет ответ, но я не могу заставить его прочитать последующие высказывания.

Есть ли метод, который я могу вызвать, чтобы сбросить SpeechSynthesizer / SpeechUtterance после запуска didFinish?

1 ответ

Поэтому я использовал SFSpeechRecognizer и AVSpeechSynthesizer и запустил диктофон, отключив аудиоканал для воспроизведения звука.

Я должен был изменить

try audioSession.setCategory(AVAudioSessionCategoryRecord)

в

try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)

и это решило мою проблему.

Другие вопросы по тегам