Я использую код ниже, чтобы читать случайные предложения в случайное время. Однако я сталкиваюсь с проблемой, когда для чтения вызывается случайное предложение, в то время как предыдущее предложение все еще произносится AVSpeechSynthesizer, в результате чего второе предложение не произносится. Я спрашиваю, как я могу произнести второе предложение после того, как первое предложение будет произнесено?
Любой импорт приветствуется. Ваше здоровье
Вот мой код:
import UIKit
import AVFoundation
class ViewController: UIViewController {
var myTimer = Timer()
let string = ["what kind of car do you have?", "do you like the beach?","did you bring a towel?","There are big waves today"]
var randomTimer = Int()
@objc func speakToMe(){
let random = Int.random(in: 0...3)
randomTimer = Int.random(in: 0...2)
print(randomTimer)
print(string[random])
let utterance = AVSpeechUtterance(string: string[random])
utterance.voice = AVSpeechSynthesisVoice(language: "en-GB")
utterance.rate = 0.1
let synthesizer = AVSpeechSynthesizer()
synthesizer.speak(utterance)
}
override func viewDidLoad() {
super.viewDidLoad()
speakToMe()
myTimer = Timer.scheduledTimer(timeInterval: TimeInterval(randomTimer), target: self, selector: #selector(ViewController.speakToMe), userInfo: nil, repeats: true)
}
}