下面是我如何使用Web Speech API进行语音识别的简单演示。如果您自己运行演示,只需在授予麦克风权限并观看控制台后说些什么:
var recognition = new webkitSpeechRecognition();
recognition.onresult = function(event) {
// get SpeechRecognitionResultList object
var resultList = event.results;
// get first SpeechRecognitionResult object
var firstResult = resultList[0];
// get this result's first SpeechRecognitionAlternative object
var firstAlternative = firstResult[0];
// this is the puzzling part
console.log(firstAlternative);
console.log(firstAlternative.hasOwnProperty('transcript'));
};
recognition.start();
至少在 Chrome 中(只有 webkitty 浏览器可以工作),我在控制台中得到了这两个输出(一个对象和预期的布尔值):
{
"transcript": "hello",
"confidence": 0.9483599662780762
}
false
但我希望看到true
,而不是false
因为我会这么想transcript
并且confidence
会通过hasOwnProperty
检查。他们为什么不呢?