[英]Swift OSX CNContact.organizationName crash in High Sierra
[英]OSX Sierra Nsspeechrecognizer issues
与其给您带来一堆代码,不如在下面总结。
在应用程序委托中,我创建一个nsspeechrecognizer来设置其委托,添加命令,然后开始监听。
语音识别器会首次识别该命令,并且只要我不停止收听就可以继续。
一旦我通过调用stoplistening停止了语音识别器,便会进行随后的通话以开始收听,但是不会再次识别以前被识别的命令。
我已经确认命令数组保持不变。 是一种“每个命令一次起作用”的东西。
使命令再次被识别的唯一方法是终止语音识别器core.broker进程。 重新启动我的应用程序不会执行此操作。
这不是El Cap的问题。 塞拉(Sierra)有这样的经历。
Let speechRecognizer = NSSpeechRecognizer()
speechRecognizer.delegate = self
speechRecognizer.listenInBackgroundOnly = false
speechRecognizer.commands = cmdArray
speechRecognizer.startListening()
在didrecognize命令委托中
If cmd== specificCommand {
Print("heard")
// commenting out the following line allows recognizer to continue functioning correctly
speechRecognizer.stopListening()
}
另一个方法调用再次开始监听。 并且在开始侦听之后将识别命令。.....已经识别的命令除外。
这是在Sierra机器上的Xcode 8上使用swift 2.3编译的
虽然我没有解决这个问题。 我能够通过将所有命令从“为(firstAndLastName)做某事”缩短所有命令来解决此问题。
这样解决问题是不合逻辑的。 我在Xcode中放入并输出的“经纪人”现在向我暗示nsspeechrecognizer可能正在“分级”确认。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.