语音合成器暂停语音返回true,但不暂停文本

时间:2020-06-13 10:33:58

标签: swift avspeechsynthesizer avspeechutterance

所以我试图让我的语音合成器暂停,但是出于某种原因,它并没有暂停。我是一个初学者,所以我一直在尝试一些事情,但似乎无法弄清楚原因。如果有人可以告诉我出了什么问题,将不胜感激。

“停止”按钮似乎正常工作

    @IBAction func speak(_ sender: UIButton) {
        if !speechSynthesizer.isSpeaking {
            let speechUtterence = AVSpeechUtterance(string: texts.text)
            speechUtterence.rate = rate // 0.0 - 1.0
            speechUtterence.pitchMultiplier = pitch // 0.5 - 2.0 (Default: 1.0)
            speechUtterence.volume = volume // 0.0 - 1.0 (Default: 1.0)

            speechSynthesizer.speak(speechUtterence)
        } else {
            speechSynthesizer.continueSpeaking()
        }
        animateActionButtonAppearance(true) //show Speak Button
    }

    @IBAction func pauseSpeech(_ sender: UIButton) {
        print(speechSynthesizer.pauseSpeaking(at: .word))
        print("pause")

        animateActionButtonAppearance(false) //hide SpeakButton
    }

    @IBAction func stopSpeech(_ sender: UIButton) {
        speechSynthesizer.stopSpeaking(at: .immediate)

        animateActionButtonAppearance(false) //hide SpeakButton
    }


1 个答案:

答案 0 :(得分:0)

好的,所以这似乎是一个典型的初学者错误,其中发送的事件分配有误

enter image description here

我发现有趣的部分是,即使停止按钮也有同样的问题,它似乎仍在工作。

发生这种情况是因为我在为它分配新目标之前,在未检查此页面的情况下复制了我的语音按钮。所以这是一个教训。