gpt4 book ai didi

ios - AVSpeechSynthesisVoice 从按钮标签读取

转载 作者:行者123 更新时间:2023-11-29 01:21:22 25 4
gpt4 key购买 nike

我想知道如何让 AVSpeechSynthesisVoice 从按钮读取文本。我对 Swift 还很陌生。但是,我从字符串中读取了以下内容:

@IBAction func btnOption1Audio(sender: UIButton)
{
myUtterance = AVSpeechUtterance(string: "Hola")
myUtterance.rate = 1
synth.speakUtterance(myUtterance)
myUtterance.voice = AVSpeechSynthesisVoice(language: "es-ES")

}

但是当我将其更改为类似的内容(读取按钮文本)时,它将不起作用。我确信这只是一个语法问题:

@IBAction func btnOption1Audio(sender: UIButton)
{
myUtterance = AVSpeechUtterance(string: btnOption1Tap.titlelabel.text)
myUtterance.rate = 1
synth.speakUtterance(myUtterance)
myUtterance.voice = AVSpeechSynthesisVoice(language: "es-ES")

}

我哪里错了?

提前致谢

最佳答案

从您的代码中不清楚 btnOption1Tap 是什么。如果它是一个 @IBOutlet 到一个 UIButton,那么你仍然有一些问题。

titleLabel 是一个返回 Optional UILabel 的属性。使用前必须打开包装。同样,UILabeltext 属性返回一个 Optional String,它也必须被解包。您需要执行以下操作:

if let buttontext = btnOption1Tap.titleLabel?.text {
myUtterance = AVSpeechUtterance(string: buttontext)
myUtterance.rate = 1
synth.speakUtterance(myUtterance)
myUtterance.voice = AVSpeechSynthesisVoice(language: "es-ES")
}

您可能想说出与作为发送者UIButton 关联的文本。在这种情况下,您可以只使用 UIButtoncurrentTitle 属性并使用 nil 合并运算符 ?? 来安全地打开Optional String:

myUtterance = AVSpeechUtterance(string: sender.currentTitle ?? "")

关于ios - AVSpeechSynthesisVoice 从按钮标签读取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34555956/

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