SpeechGrammar - 表示希望识别服务识别的一组单词或单词模式

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

SpeechGrammarWeb Speech API 的接口,表示希望识别服务识别的一组单词或单词模式。

语法是使用 JSpeech 语法格式JSGF)定义的。将来也可能支持其他格式。

构造函数

SpeechGrammar.SpeechGrammar()

创建一个新的 SpeechGrammar 对象。

属性

SpeechGrammar.src

SpeechGrammar 对象实例中设置并返回一个包含语法的字符串。

SpeechGrammar.weight 可选

设置并返回 SpeechGrammar 对象的权重。

实例

var grammar = '#JSGF V1.0; grammar colors; public <color> = aqua | azure | beige | bisque | black | blue | brown | chocolate | coral | crimson | cyan | fuchsia | ghostwhite | gold | goldenrod | gray | green | indigo | ivory | khaki | lavender | lime | linen | magenta | maroon | moccasin | navy | olive | orange | orchid | peru | pink | plum | purple | red | salmon | sienna | silver | snow | tan | teal | thistle | tomato | turquoise | violet | white | yellow ;'
var recognition = new SpeechRecognition();
var speechRecognitionList = new SpeechGrammarList();
speechRecognitionList.addFromString(grammar, 1);
recognition.grammars = speechRecognitionList;

console.log(speechRecognitionList[0].src); // 应该返回与语法变量相同的内容
console.log(speechRecognitionList[0].weight); // 应该返回 1 - 与第 4 行中设置的权重相同。

规范

规范 状态 备注
Web Speech API
SpeechGrammar 的定义
草稿 -

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持25 webkit 不支持441 不支持27 不支持
SpeechGrammar() 构造函数25 webkit 不支持441 不支持27 不支持
src25 不支持441 不支持27 不支持
weight25 不支持441 不支持27 不支持

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持 不支持64 webkit 未知 不支持 未知 不支持 不支持
SpeechGrammar() 构造函数 不支持64 webkit 未知 不支持 未知 不支持 不支持
src 不支持64 未知 不支持 未知 不支持 不支持
weight 不支持64 未知 不支持 未知 不支持 不支持

1. 请注意,当前在 Firefox 桌面中只有语音合成部分可用 - 一旦整理出所需的内部权限,语音识别部分将很快可用。

相关链接