如何知道 webkitSpeechRecognition 是否启动?

How to know if webkitSpeechRecognition is started?

我正在制作一个机器人来听我的声音。
所以我做了:

this.recognition = new webkitSpeechRecognition();

我可以这样做来开始收听:

this.recognition.start();

然后停止收听:

this.recognition.stop();

但是您是否知道一个函数,如果 this.recognition 启动则 return 为真,停止则为假?喜欢 "isStarted()" ?

谢谢。

您可以通过在 onstartonend 事件上设置一个标志变量来做到这一点:

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
}

你可以简单的检查这个

if(this.recognition){
    //do something if true
}else{
    // do something else if false
}