我已经使用Swift 4在MacOS应用程序中设置了NSSpeechRecognizer。在我的ViewController类的开头,我有
let sr:NSSpeechRecognizer = NSSpeechRecognizer()!
然后在ViewDidLoad中拥有
sr.delegate = self
sr.listensInForegroundOnly = false
sr.commands = ["hello"]
sr.startListening()
最后我定义了捕获语音的功能
func speechRecognizer(_ sender: NSSpeechRecognizer, didRecognizeCommand command: String) {
print("WE RECOGNIZE")
}
如果将listensInForegroundOnly更改为true,则在前台运行应用程序时一切正常。但是,如果我将其更改为false,则无论该应用程序是否在前台,都不会调用SpeechRecognizer函数。我在做什么错了?