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.charIndex
Read only- Returns the index position of the character in the
SpeechSynthesisUtterance.text
that was being spoken when the event was triggered. SpeechSynthesisEvent.elapsedTime
Read only- Returns the elapsed time in milliseconds after the
SpeechSynthesisUtterance.text
started being spoken that the event was triggered at. SpeechSynthesisEvent.name
Read only- Returns the name associated with certain types of events occuring as the
SpeechSynthesisUtterance.text
is being spoken: the name of the SSML marker reached in the case of amark
event, or the type of boundary reached in the case of aboundary
event. SpeechSynthesisEvent.utterance
Read only- Returns the
SpeechSynthesisUtterance
instance 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.