This is an experimental technologyCheck the Browser compatibility table carefully before using this in production.
The SpeechRecognitionResultList
interface of the Web Speech API represents a list of SpeechRecognitionResult
objects, or a single one if results are being captured in continuous
mode.
Properties
SpeechRecognitionResultList.length
Read only- Returns the length of the "array" — the number of
SpeechRecognitionResult
objects in the list.
Methods
SpeechRecognitionResultList.item
- A standard getter that allows
SpeechRecognitionResult
objects in the list to be accessed via array syntax.
Examples
This code is excerpted from our Speech color changer example.
recognition.onresult = function(event) {
// The SpeechRecognitionEvent results property returns a SpeechRecognitionResultList object
// The SpeechRecognitionResultList object contains SpeechRecognitionResult objects.
// It has a getter so it can be accessed like an array
// The first [0] returns the SpeechRecognitionResult at position 0.
// Each SpeechRecognitionResult object contains SpeechRecognitionAlternative objects that contain individual results.
// These also have getters so they can be accessed like arrays.
// The second [0] returns the SpeechRecognitionAlternative at position 0.
// We then return the transcript property of the SpeechRecognitionAlternative object
var color = event.results[0][0].transcript;
diagnostic.textContent = 'Result received: ' + color + '.';
bg.style.backgroundColor = color;
}
Specifications
Specification | Status | Comment |
Web Speech APIThe definition of 'SpeechRecognitionResultList' in that specification. | Draft |
Browser compatibility
The compatibility table on this page is generated from structured data. If you'd like to contribute to the data, please check out https://github.com/mdn/browser-compat-data and send us a pull request.
Update compatibility data on GitHub
Desktop | Mobile | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Chrome Full support 33 Full support 33 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Edge Full support ≤79 Full support ≤79 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Chrome Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Chrome Full support 33 Full support 33 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Edge Full support ≤79 Full support ≤79 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Chrome Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. | |
Chrome Full support 33 Full support 33 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Edge Full support ≤79 Full support ≤79 Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox
No support No |
IE
No support No |
Opera
No support No |
Safari
No support No |
WebView Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Chrome Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Firefox Android
No support No |
Opera Android
No support No |
Safari iOS
No support No |
Samsung Internet Android Full support Yes Full support Yes Prefixed' Implemented with the vendor prefix: webkit Notes' You'll need to serve your code through a web server for recognition to work. |
Legend
- Full support
- Full support
- No support
- No support
- Experimental. Expect behavior to change in the future.'
- Experimental. Expect behavior to change in the future.
- See implementation notes.'
- See implementation notes.
- Requires a vendor prefix or different name for use.'
- Requires a vendor prefix or different name for use.
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"
See also
SpeechRecognitionResultList by Mozilla Contributors is licensed under CC-BY-SA 2.5.