[英]Swift: unable to set commands in NSSpeechRecognizer
我对setCommands有问题。 我无法在项目中设置setCommands的命令。 在viewDidLoad中,我尝试了SR.setCommands =命令,但出现错误,提示“'NSSpeechRecognizer'没有名为'setCommands'的成员”,对此有任何帮助吗?
class ViewController: NSViewController, NSSpeechRecognizerDelegate {
@IBOutlet weak var Label: NSTextField!
var SR:NSSpeechRecognizer = NSSpeechRecognizer()
var commands: [AnyObject]? = ["word","sad","happy"]
override func viewDidLoad() {
super.viewDidLoad()
SR.setCommands = commands //Error
}
override var representedObject: AnyObject? {
didSet {
// Update the view, if already loaded.
}
}
@IBAction func Listen(sender: AnyObject) {
SR.startListening(); print("listening")
}
func speechRecognizer(sender: NSSpeechRecognizer,
didRecognizeCommand command: AnyObject?){
if (command as String == "word")
{
println("Hello")
}
else
{
println("NotWord")
}
}
@IBAction func Stop(sender: AnyObject) {
SR.stopListening()
}
}
采用:
SR.commands = commands
您正在将点符号与旧的Obj-C风格的设置器混合在一起。
您也可以将let
用作语音识别器,而无需说明任何一个的类型。 Swift会推断出:
let SR = NSSpeechRecognizer()
var commands = ["word","sad","happy"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.