cronenberg
cronenberg

Reputation: 97

Swift: how to call NSSpeechRecognizer func

My speechRecognizer func doesn't seem to be called. I couldn't find anything in the documentation about calling this func. Any idea what I might be doing wrong? Thanks in advance.

class ViewController: NSViewController, NSSpeechRecognizerDelegate {

let SR:NSSpeechRecognizer = NSSpeechRecognizer()
var commands = ["word","hello"]

override func viewDidLoad() {
    super.viewDidLoad()

    SR.commands = commands
}

override var representedObject: AnyObject? {
    didSet {
    // Update the view, if already loaded.
    }
}

@IBAction func Listen(sender: AnyObject) {
    SR.startListening(); print("listening")
}

@IBAction func Stop(sender: AnyObject) {
    SR.stopListening()
}

func speechRecognizer(sender: NSSpeechRecognizer,
    didRecognizeCommand command: AnyObject?){

        if (command as String == "word")
        {
            println("case word")
        }
        else if (command as String == "happy")
        {
            println("case happy")
        }
}
}

Upvotes: 3

Views: 1984

Answers (1)

Bryan Luby
Bryan Luby

Reputation: 2567

Set the NSSpeechRecognizerDelegate to self:

SR.delegate = self

Upvotes: 4

Related Questions