The error property of the SpeechSynthesisErrorEvent interface returns an error code indicating what has gone wrong with a speech synthesis attempt.
On this page
SpeechSynthesisErrorEvent: error property
Value
A string containing the error reason. Possible values are:
-
canceled -
A
SpeechSynthesis.cancelmethod call caused theSpeechSynthesisUtteranceto be removed from the queue before it had begun being spoken. -
interrupted -
A
SpeechSynthesis.cancelmethod call caused theSpeechSynthesisUtteranceto be interrupted after it had begun being spoken and before it completed. -
audio-busy -
The operation couldn't be completed at this time because the user-agent couldn't access the audio output device (for example, the user may need to correct this by closing another application.)
-
audio-hardware -
The operation couldn't be completed at this time because the user-agent couldn't identify an audio output device (for example, the user may need to connect a speaker or configure system settings.)
-
network -
The operation couldn't be completed at this time because some required network communication failed.
-
The operation couldn't be completed at this time because no synthesis engine was available (For example, the user may need to install or configure a synthesis engine.)
-
synthesis-failed -
The operation failed because the synthesis engine raised an error.
-
No appropriate voice was available for the language set in
SpeechSynthesisUtterance.lang. You can use thewindow.speechSynthesis.getVoices()method to determine which voices and languages are supported in the user's browser. -
The voice set in
SpeechSynthesisUtterance.voicewas not available. -
text-too-long -
The contents of the
SpeechSynthesisUtterance.textattribute was too long to synthesize. -
invalid-argument -
The content of the
SpeechSynthesisUtterance.rate,SpeechSynthesisUtterance.pitchorSpeechSynthesisUtterance.volumeproperty was not valid. -
not-allowed -
The operation's start was not allowed.
Examples
js
const synth = window.speechSynthesis;
const inputForm = document.querySelector("form");
const inputTxt = document.querySelector("input");
const voiceSelect = document.querySelector("select");
const voices = synth.getVoices();
// ...
inputForm.onsubmit = (event) => {
event.preventDefault();
const utterThis = new SpeechSynthesisUtterance(inputTxt.value);
const selectedOption =
voiceSelect.selectedOptions[0].getAttribute("data-name");
for (let i = 0; i < voices.length; i++) {
if (voices[i].name === selectedOption) {
utterThis.voice = voices[i];
}
}
synth.speak(utterThis);
utterThis.onerror = (event) => {
console.error(
`An error has occurred with the speech synthesis: ${event.error}`,
);
};
inputTxt.blur();
};
Specifications
| Specification |
|---|
| Web Speech API # dom-speechsynthesiserrorevent-error |
Browser compatibility
| Desktop | Mobile | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Internet Explorer | Opera | Safari | WebView Android | Chrome Android | Firefox for Android | Opera Android | Safari on IOS | Samsung Internet | |
error |
33 | ≤18 | 49 | No | 21 | 7 | No | 33 | 62 | No | 7 | 3.0 |
See also
© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesisErrorEvent/error