这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
SpeechRecognition
接口在
Web 语音 API
is the controller interface for the recognition service; this also handles the
SpeechRecognitionEvent
sent from the recognition service.
注意 : On some browsers, like Chrome, using Speech Recognition on a web page involves a server-based recognition engine. Your audio is sent to a web service for recognition processing, so it won't work offline.
SpeechRecognition.SpeechRecognition()
SpeechRecognition
对象。
SpeechRecognition
also inherits properties from its parent interface,
EventTarget
.
SpeechRecognition.grammars
SpeechGrammar
objects that represent the grammars that will be understood by the current
SpeechRecognition
.
SpeechRecognition.lang
SpeechRecognition
. If not specified, this defaults to the HTML
lang
attribute value, or the user agent's language setting if that isn't set either.
SpeechRecognition.continuous
false
)。
SpeechRecognition.interimResults
true
) 或不 (
false
.) Interim results are results that are not yet final (e.g. the
SpeechRecognitionResult.isFinal
特性为
false
)。
SpeechRecognition.maxAlternatives
SpeechRecognitionAlternative
s provided per result. The default value is 1.
SpeechRecognition.serviceURI
SpeechRecognition
to handle the actual recognition. The default is the user agent's default speech service.
SpeechRecognition
also inherits methods from its parent interface,
EventTarget
.
SpeechRecognition.abort()
SpeechRecognitionResult
.
SpeechRecognition.start()
SpeechRecognition
.
SpeechRecognition.stop()
SpeechRecognitionResult
using the audio captured so far.
监听这些事件使用
addEventListener()
或通过把事件监听器赋值给
on
eventname
特性为此接口。
audiostart
onaudiostart
特性。
audioend
onaudioend
特性。
end
onend
特性。
error
onerror
特性。
nomatch
confidence
threshold.
onnomatch
特性。
result
onresult
特性。
soundstart
onsoundstart
特性。
soundend
onsoundend
特性。
speechstart
onspeechstart
特性。
speechend
onspeechend
特性。
start
SpeechRecognition
.
onstart
特性。
In our simple
Speech color changer
example, we create a new
SpeechRecognition
object instance using the
SpeechRecognition()
constructor, create a new
SpeechGrammarList
, and set it to be the grammar that will be recognised by the
SpeechRecognition
instance using the
SpeechRecognition.grammars
特性。
After some other values have been defined, we then set it so that the recognition service starts when a click event occurs (see
SpeechRecognition.start()
.) When a result has been successfully recognised, the
SpeechRecognition.onresult
handler fires, we extract the color that was spoken from the event object, and then set the background color of the
<html>
element to that color.
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;
recognition.continuous = false;
recognition.lang = 'en-US';
recognition.interimResults = false;
recognition.maxAlternatives = 1;
var diagnostic = document.querySelector('.output');
var bg = document.querySelector('html');
document.body.onclick = function() {
recognition.start();
console.log('Ready to receive a color command.');
}
recognition.onresult = function(event) {
var color = event.results[0][0].transcript;
diagnostic.textContent = 'Result received: ' + color;
bg.style.backgroundColor = color;
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web 语音 API
The definition of 'SpeechRecognition' in that specification. |
草案 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SpeechRecognition
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
4.4.3
Prefixed
|
Chrome Android
33
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
2.0
Prefixed
|
SpeechRecognition()
构造函数
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
37
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
abort
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
audioend
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
audiostart
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
continuous
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
end
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
error
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
grammars
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
interimResults
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
lang
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
maxAlternatives
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
nomatch
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
onaudioend
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onaudiostart
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onend
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onerror
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onnomatch
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onresult
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onsoundend
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onsoundstart
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onspeechend
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onspeechstart
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
onstart
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
result
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
serviceURI
弃用
非标
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
soundend
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
soundstart
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
speechend
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
speechstart
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
start
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
start
event
|
Chrome 33 | Edge 79 | Firefox No | IE No | Opera No | Safari No | WebView Android Yes | Chrome Android Yes | Firefox Android No | Opera Android No | Safari iOS No | Samsung Internet Android Yes |
stop
|
Chrome
33
Prefixed
|
Edge
≤79
Prefixed
|
Firefox No | IE No | Opera No | Safari No |
WebView Android
Yes
Prefixed
|
Chrome Android
Yes
Prefixed
|
Firefox Android No | Opera Android No | Safari iOS No |
Samsung Internet Android
Yes
Prefixed
|
完整支持
不支持
实验。期望将来行为有所改变。
非标。预期跨浏览器支持较差。
弃用。不要用于新网站。
见实现注意事项。
要求使用供应商前缀或不同名称。
SpeechRecognition