SpeechRecognitionEvent - 表示语音识别的 result 和 nomatch 事件对象
SpeechRecognitionEvent
是 Web Speech API 的接口,表示语音识别的 result
和 nomatch
事件对象,并包含与临时或最终语音识别结果相关的所有数据。
属性
SpeechRecognitionEvent
还从其父接口 Event
继承了属性。
SpeechRecognitionEvent.emma
只读
返回一个表示结果的 XML,它是一个多模式注释(MultiModal Annotation,缩写 EMMA)标记语言。
SpeechRecognitionEvent.interpretation
只读
返回用户所说的语义含义。
SpeechRecognitionEvent.resultIndex
只读
返回实际已更改的 SpeechRecognitionResultList
数组中的最低索引值结果。
SpeechRecognitionEvent.results
只读
返回一个 SpeechRecognitionResultList
对象,该对象表示当前会话的所有语音识别结果。
实例
此代码摘自我们的语音颜色更改器实例。
recognition.onresult = function(event) {
// SpeechRecognitionEventresults 属性返回一个 SpeechRecognitiontionResultList 对象
// SpeechRecognitionResultList 对象包含了多个 SpeechRecognitionResultResult 对象。
// 它具有 getter,因此可以像数组一样进行访问
// 第一个 [0] 返回位置 0 处的 SpeechRecognitionResult。
// 每个 SpeechRecognitionResult 对象都包含具有单独结果的 SpeechRecognitionAlternative 对象。
// 它们也有 getter ,因此可以像数组一样对其进行访问。
// 第二个 [0] 返回位置 0 处的 SpeechRecognitionAlternative。
// 然后,我们返回 SpeechRecognitionAlternative 对象的 transcript 属性
var color = event.results[0][0].transcript;
diagnostic.textContent = '收到结果:' + color + '。';
bg.style.backgroundColor = color;
}
规范
规范 | 状态 | 备注 |
---|---|---|
Web Speech API SpeechRecognitionEvent 的定义 |
草稿 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
emma | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
interpretation | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
resultIndex | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
results | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
emma | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
interpretation | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
resultIndex | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
results | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
1. You'll need to serve your code through a web server for recognition to work.
Firefox OS 权限
要在应用中使用语音识别,您需要在 manifest 中指定以下权限:
"permissions": {
"audio-capture" : {
"description" : "Audio capture"
},
"speech-recognition" : {
"description" : "Speech recognition"
}
}
您还需要一个特权应用程序,因此您还需要包括以下内容:
"type": "privileged"