我在尝试以下代码时收到以下消息:
2014-07-28 13:19:14.251 MySingleView [3750:461865]语音初始化错误:2147483665
我做错了什么,或者这是一个错误?
我在使用Xcode6-Beta 4运行Mavericks的Mac上运行iPad 2模拟器。
import UIKit
import AVFoundation
class ViewController: UIViewController {
var voice = AVSpeechSynthesizer()
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func buttonPushed(sender: UIButton) {
var utterance = AVSpeechUtterance(string:"This is a test")
voice.speakUtterance(utterance)
}
}
答案 0 :(得分:17)
iOS 8模拟器不支持文本到语音转换。但是,iOS 7模拟器仍然支持文本到语音转换(至少从Xcode 6.1开始),所以如果您的应用程序在iOS 7下运行,您可以在桌面上进行测试。
答案 1 :(得分:1)
从XCode 6.0.1开始,模拟器似乎根本无法与AVSpeechSynthesizer一起使用。如果您收到错误消息,则表示模拟器问题,而不是程序问题。它应该适用于任何兼容的iOS设备。 请参阅此链接 - https://github.com/brettdidonato/TextToSpeech/blob/master/README.md。 我在iOS 8.0模拟器中遇到了同样的问题。但在iOS设备上工作正常。
答案 2 :(得分:1)
Text-to-speech is working with iOS8.4 simulator not the other 8.X simulators.
答案 3 :(得分:0)
试试这个 的 Swift3 强>
import UIKit
import AVFoundation
class ViewController: UIViewController, AVSpeechSynthesizerDelegate {
override func viewDidLoad() {
super.viewDidLoad()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
}
@IBAction func buttonPushed(sender: UIButton) {
var utterance = AVSpeechUtterance(string:"This is a test")
utterance.voice = AVSpeechSynthesisVoice(language: "en-US")
var voice = AVSpeechSynthesizer()
voice.delegate = self
voice.speak(utterance)
}
}