SpeechGrammarList

这是 实验性技术
检查 浏览器兼容性表格 在生产中使用这之前。

SpeechGrammarList interface of the Web 语音 API represents a list of SpeechGrammar objects containing words or patterns of words that we want the recognition service to recognize.

Grammar is defined using JSpeech Grammar Format ( JSGF .) Other formats may also be supported in the future.

构造函数

SpeechGrammarList.SpeechGrammarList()
创建新的 SpeechGrammarList 对象。

特性

SpeechGrammarList.length 只读
Returns the number of SpeechGrammar objects contained in the SpeechGrammarList .

方法

SpeechGrammarList.item()
Standard getter — allows individual SpeechGrammar objects to be retrieved from the SpeechGrammarList using array syntax.
SpeechGrammarList.addFromURI()
Takes a grammar present at a specific URI and adds it to the SpeechGrammarList as a new SpeechGrammar 对象。
SpeechGrammarList.addFromString()
Takes a grammar present in a specific DOMString within the code base (e.g. stored in a variable) and adds it to the SpeechGrammarList as a new SpeechGrammar 对象。

范例

In our simple Speech color changer example, we create a new SpeechRecognition object instance using the SpeechRecognition() constructor, create a new SpeechGrammarList , add our grammar string to it using the SpeechGrammarList.addFromString method, and set it to be the grammar that will be recognised by the SpeechRecognition instance using the SpeechRecognition.grammars 特性。

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;
					

规范

规范 状态 Comment
Web 语音 API
The definition of 'SpeechGrammarList()' in that specification.
草案

浏览器兼容性

更新 GitHub 上的兼容性数据
Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari Android webview Chrome for Android Firefox for Android Opera for Android Safari on iOS Samsung Internet
SpeechGrammarList
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
SpeechGrammarList() 构造函数
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Yes
You'll need to serve your code through a web server for recognition to work.
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Yes
You'll need to serve your code through a web server for recognition to work.
addFromString
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
addFromURI
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
item
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
length
Chrome 33
Prefixed
33
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Edge ≤79
Prefixed
≤79
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox No IE No Opera No Safari No WebView Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Chrome Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.
Firefox Android No Opera Android No Safari iOS No Samsung Internet Android Yes
Prefixed
Yes
Prefixed
Prefixed Implemented with the vendor prefix: webkit
You'll need to serve your code through a web server for recognition to work.

图例

完整支持
完整支持
不支持
不支持
实验。期望将来行为有所改变。
实验。期望将来行为有所改变。
见实现注意事项。
要求使用供应商前缀或不同名称。
要求使用供应商前缀或不同名称。

Firefox OS permissions

To use speech recognition in an app, you need to specify the following permissions in your manifest :

"permissions": {
  "audio-capture" : {
    "description" : "Audio capture"
  },
  "speech-recognition" : {
    "description" : "Speech recognition"
  }
}
					

You also need a privileged app, so you need to include this as well:

  "type": "privileged"
					

另请参阅