SpeechRecognitionResult - 表示一个识别匹配项
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
SpeechRecognitionResult
是 Web Speech API 的接口表示一个识别匹配项,其中可能包含多个 SpeechRecognitiontionAlternative
对象。
属性
SpeechRecognitionResult.isFinal
只读
一个 Boolean
,声明此结果是否为最终结果(true
或 false
)- 如果是,则这是该结果的最终值;如果不是,则此结果为临时结果,以后可以更新。
SpeechRecognitionResult.length
只读
返回结果中包含的 “数组” 的长度 - SpeechRecognitionAlternative
对象的数量(也称为 “ n 个最佳替代项”。)
方法
SpeechRecognitionResult.item
一个标准的 getter,它允许通过数组语法访问结果中的 SpeechRecognitionAlternative
对象。
实例
此代码摘自我们的语音颜色更改器实例。
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 SpeechRecognitionResult 的定义 |
草稿 | - |
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
isFinal | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
item | 33 webkit 1 | ≤79 webkit 1 | 不支持 | 不支持 | 不支持 | 不支持 |
length | 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 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
isFinal | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
item | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
length | 支持 webkit 1 | 支持 webkit 1 | 未知 | 不支持 | 未知 | 不支持 | 不支持 |
1. 您需要将代码放到网络服务器上,以便识别服务能够工作。
Firefox OS 权限
要在应用中使用语音识别,您需要在 manifest 中指定以下权限:
"permissions": {
"audio-capture" : {
"description" : "Audio capture"
},
"speech-recognition" : {
"description" : "Speech recognition"
}
}
您还需要一个特权应用程序,因此您还需要包括以下内容:
"type": "privileged"