Соедините 2 разных ярлыка для преобразования текста в речь (swift3)
Используя функцию "речь в текст", я легко могу произнести одну метку. Но я хочу, чтобы высказывание2 было присоединено к высказыванию. Я хочу, чтобы высказывание было произнесено первым, а затем, когда оно закончится, произнесение произнесения2 произойдет сразу после этого.
let utterance = AVSpeechUtterance(string: dptext.text!)
let utterance2 = AVSpeechUtterance(string: dptext2.text!)
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)
1 ответ
Я думаю, что самый простой способ справиться с этой ситуацией, это объединить две строки с space
,
let combineString = dptext.text! + " " + dptext2.text!
let utterance = AVSpeechUtterance(string: combineString)
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)
Я хочу, чтобы сначала произносилось высказывание, а затем, когда оно закончено, чтобы высказывание2 было произнесено сразу после него.
Для произнесения двух высказываний нет необходимости объединять их: самое важное, что нужно помнить, - это сохранять свое AVSpeechSynthesizer
до тех пор, пока не будет произнесена полная речь.
let synthesizer = AVSpeechSynthesizer()
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
let utterance = AVSpeechUtterance(string: dptext.text!)
let utterance2 = AVSpeechUtterance(string: dptext2.text!)
synthesizer.speak(utterance)
synthesizer.speak(utterance2)
}
Следуя этому обоснованию, вы можете:
- Добавляйте задержки до и после выступления во время выступления.
- Сделайте столько высказываний, сколько хотите.
Каждое из высказываний будет помещено в очередь синтезатора речи и будет произноситься в том порядке, в котором оно было получено.