javascriptgoogle-chromewebkitspeechrecognition

How to know if webkitSpeechRecognition is started?


I'm making a bot to listen to my voice.
So i did :

this.recognition = new webkitSpeechRecognition();

I can do this to start listen :

this.recognition.start();

And this to stop listen :

this.recognition.stop();

But do you know a function that will return me true if this.recognition is started and false if it's stopped ? Like "isStarted()" ?

Thanks.


Solution

  • You can do this by raising a flag variable on the onstart and onend events:

    var recognition = new webkitSpeechRecognition();
    var recognizing = false;
    
    recognition.onstart = function () {
        recognizing = true;
    };
    
    recognition.onend = function () {
        recognizing = false;
    };
    
    recognition.onerror = function (event) {
        recognizing = false;
    };
    
    if (recognizing) {
        // Do stuff
    }