This is an experimental technology
Check the Browser compatibility table carefully before using this in production.
The SpeechSynthesisEvent interface of the Web Speech API contains information about the current state of SpeechSynthesisUtterance objects that have been processed in the speech service.
Properties
The SpeechSynthesisEvent interface also inherits properties from its parent interface, Event.
SpeechSynthesisEvent.charIndexRead only- Returns the index position of the character in the
SpeechSynthesisUtterance.textthat was being spoken when the event was triggered. SpeechSynthesisEvent.elapsedTimeRead only- Returns the elapsed time in milliseconds after the
SpeechSynthesisUtterance.textstarted being spoken that the event was triggered at. SpeechSynthesisEvent.nameRead only- Returns the name associated with certain types of events occuring as the
SpeechSynthesisUtterance.textis being spoken: the name of the SSML marker reached in the case of amarkevent, or the type of boundary reached in the case of aboundaryevent. SpeechSynthesisEvent.utteranceRead only- Returns the
SpeechSynthesisUtteranceinstance that the event was triggered on.
Methods
The SpeechSynthesisEvent interface also inherits methods from its parent interface, Event.
Examples
utterThis.onpause = function(event) {
var char = event.utterance.text.charAt(event.charIndex);
console.log('Speech paused at character ' + event.charIndex + ' of "' +
event.utterance.text + '", which is "' + char + '".');
}
utterThis.onboundary = function(event) {
console.log(event.name + ' boundary reached after ' + event.elapsedTime + ' milliseconds.');
}
Specifications
| Specification | Status | Comment |
|---|---|---|
| Web Speech API The definition of 'SpeechSynthesisEvent' 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.
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SpeechSynthesisEvent | Chrome Full support 33 | Edge Full support ≤18 | Firefox Full support 49 | IE No support No | Opera Full support 21 | Safari Full support 7 | WebView Android No support No | Chrome Android Full support 33 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 7 | Samsung Internet Android Full support 3.0 |
charIndex | Chrome Full support 33 | Edge Full support 14 | Firefox Full support 49 | IE No support No | Opera Full support 21 | Safari Full support 7 | WebView Android No support No | Chrome Android Full support 33 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 7 | Samsung Internet Android Full support 3.0 |
elapsedTime | Chrome Full support 33 | Edge Full support 14 | Firefox Full support 49 | IE No support No | Opera Full support 21 | Safari Full support 7 | WebView Android No support No | Chrome Android Full support 33 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 7 | Samsung Internet Android Full support 3.0 |
name | Chrome Full support 33 | Edge Full support 14 | Firefox Full support 49 | IE No support No | Opera Full support 21 | Safari Full support 7 | WebView Android No support No | Chrome Android Full support 33 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 7 | Samsung Internet Android Full support 3.0 |
utterance | Chrome Full support 33 | Edge Full support 14 | Firefox Full support 49 | IE No support No | Opera Full support 21 | Safari Full support 7 | WebView Android No support No | Chrome Android Full support 33 | Firefox Android
Full support
62
| Opera Android No support No | Safari iOS Full support 7 | Samsung Internet Android Full support 3.0 |
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.
- User must explicitly enable this feature.
- User must explicitly enable this feature.
