0
我有一個使用UICollectionView
的快速應用程序。 UICollectionView
中的每個單元都有一個顯示一些文本的視圖控制器。我添加了兩個按鈕來啓動並暫停AVSpeechSynthesizer
閱讀文本。這兩個功能是:AVSpeechSynthesizer只能工作一次
func playclicked(){
if isInitial {
let textString = (postTitle.text ?? "") + ".\n\n" + postContentWeb.stringByEvaluatingJavaScript(from: "document.body.textContent")!
synth = AVSpeechSynthesizer()
myVoice = AVSpeechSynthesisVoice(language: "de-DE")
myUtterance = AVSpeechUtterance(string: textString)
myUtterance.voice = myVoice
synth.speak(myUtterance)
synth.delegate = self
navigationItem.rightBarButtonItems = isPlayingButtons
isInitial = false
} else {
synth.continueSpeaking()
navigationItem.rightBarButtonItems = isPlayingButtons
}
}
func pauseclicked(){
synth.pauseSpeaking(at: .word)
navigationItem.rightBarButtonItems = isStoppedButtons
}
一個視圖起點和閱讀作品的停止,但如果我選擇另一個單元格的語音輸出停止在所有的工作,即使我重新選擇它之前就已經工作的細胞。只有重新啓動應用程序才能解決問題。