【发布时间】:2014-06-29 02:55:49
【问题描述】:
所以我只是想将 AVSpeechSynthesizer 与 Swift 一起使用。我不知道如何为 AVSpeechUtterance 设置短语。
@IBAction func buttonSpeakClicked(sender:UIButton)
{
var mySpeechSynthesizer:AVSpeechSynthesizer = AVSpeechSynthesizer()
var myString:String = "This is the phrase to say"
var mySpeechUtterance:AVSpeechUtterance = AVSpeechUtterance(string:myString)
println("\(mySpeechUtterance.speechString)")
println("My string - \(myString)")
mySpeechSynthesizer .speakUtterance(mySpeechUtterance)
}
第一个 println - 无
第二个 println - 这是要说的短语
文档说 init(string string: String!),但我不知道该放在哪里
【问题讨论】:
-
不需要将类型注释添加到您的变量中。 IE。你可以放弃
:AVSpeechSynthesizer、:String、:AVSpeedUtterance... -
那么当你尝试运行它时到底发生了什么?我正在玩一个单视图应用程序,该应用程序有一个按钮,单击该按钮会调用 AVSpeechUtterance.speakUtterance,当单击 UI 上的该按钮时,它只会引发异常。你也经历过同样的事情吗?我在我的代码中导入了 AvFoundation 模块,因此代码在运行时不会引发任何错误。
-
我不记得我最初发布此内容时使用的是哪个测试版。我没有收到任何错误,但无法在 iOS8 模拟器上设置 SpeechUtterance。现在它是 beta 6,相同的代码产生正确的 println,speechUtterance 设置正确。但它实际上并没有在模拟器上说话(iPhone 5S,iOS8)。它给出了一个错误“语音初始化错误:2147483665”它在我运行当前 iOS 测试版的 iphone 4S 上可以正常工作。