gpt4 book ai didi

swift - 如何快速暂停和恢复 AVSpeechSynthesizer/AVSpeechUtterance?

转载 作者:IT王子 更新时间:2023-10-29 05:43:33 26 4
gpt4 key购买 nike

我已经在我的应用程序中实现了文本到语音转换,它与我当前使用的代码配合得很好。基本上,算法会创建一个文本,然后如果用户单击 UIButton,就会朗读该文本。

挑战:我想启用相同的 UIButton 来暂停合成器,如果该按钮已经被点击(即当前正在朗读文本),然后在它停止的地方继续朗读,如果再次点击按钮。

我知道 AVFoundation Reference 中有一些函数,但我无法正确实现它们。

有谁知道如何在 Swift 中执行此操作?

import UIKit
import AVFoundation


@IBOutlet var generatedText: UILabel!

@IBAction func buttonSpeakClicked(sender: UIButton){
var mySpeechSynthesizer:AVSpeechSynthesizer = AVSpeechSynthesizer()
var mySpeechUtterance:AVSpeechUtterance = AVSpeechUtterance(string:generatedText.text)
mySpeechUtterance.rate = 0.075

mySpeechSynthesizer .speakUtterance(mySpeechUtterance)
}

最佳答案

AVSpeechSynthesizer Class Reference

这些方法你试过吗?- pauseSpeakingAtBoundary:- continueSpeaking

还有一些属性(pausedspeaking)可以帮助您确定合成器的状态。

这样的代码应该可以工作:mySpeechSynthesizer.pauseSpeakingAtBoundary(AVSpeechBoundary.Immediate)

关于swift - 如何快速暂停和恢复 AVSpeechSynthesizer/AVSpeechUtterance?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26038749/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com