Swift - сбросить / перезапустить SpeechSynthesizer после его завершения
Я пишу приложение, чтобы читать студентам случайные вопросы для изучения.
Основной поток:
- Создать случайный вопрос
- Присвойте текст SpeechUtterrance
- Воспроизведение речевого высказывания с помощью синтезатора речи
- Получить ответ студента
- Проверь это
- Создать новый случайный вопрос
- Повторение
Все работает, за исключением того, что я не могу прочитать больше одного вопроса. Он заговорит первым, примет ответ, но я не могу заставить его прочитать последующие высказывания.
Есть ли метод, который я могу вызвать, чтобы сбросить SpeechSynthesizer / SpeechUtterance после запуска didFinish?
1 ответ
Поэтому я использовал SFSpeechRecognizer и AVSpeechSynthesizer и запустил диктофон, отключив аудиоканал для воспроизведения звука.
Я должен был изменить
try audioSession.setCategory(AVAudioSessionCategoryRecord)
в
try audioSession.setCategory(AVAudioSessionCategoryPlayAndRecord)
и это решило мою проблему.