SpeechRecognitionEvent - 表示语音识别的 result 和 nomatch 事件对象

SpeechRecognitionEventWeb Speech API 的接口,表示语音识别的 resultnomatch 事件对象,并包含与临时或最终语音识别结果相关的所有数据。

属性

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 的定义
草稿 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持33 webkit 1≤79 webkit 1 不支持 不支持 不支持 不支持
emma33 webkit 1≤79 webkit 1 不支持 不支持 不支持 不支持
interpretation33 webkit 1≤79 webkit 1 不支持 不支持 不支持 不支持
resultIndex33 webkit 1≤79 webkit 1 不支持 不支持 不支持 不支持
results33 webkit 1≤79 webkit 1 不支持 不支持 不支持 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS 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"

相关链接