SpeechSynthesisErrorEvent: error property
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since October 2018.
Theerror property of theSpeechSynthesisErrorEvent interface returns an error code indicating what has gone wrong with a speech synthesis attempt.
In this article
Value
A string containing the error reason. Possible values are:
canceledA
SpeechSynthesis.cancelmethod call caused theSpeechSynthesisUtteranceto be removed from the queue before it hadbegun being spoken.interruptedA
SpeechSynthesis.cancelmethod call caused theSpeechSynthesisUtteranceto be interrupted after it had begun beingspoken and before it completed.audio-busyThe operation couldn't be completed at this time because the user-agent couldn'taccess the audio output device (for example, the user may need to correct this byclosing another application.)
audio-hardwareThe operation couldn't be completed at this time because the user-agent couldn'tidentify an audio output device (for example, the user may need to connect a speakeror configure system settings.)
networkThe operation couldn't be completed at this time because some required networkcommunication failed.
synthesis-unavailableThe operation couldn't be completed at this time because no synthesis engine wasavailable (For example, the user may need to install or configure a synthesis engine.)
synthesis-failedThe operation failed because the synthesis engine raised an error.
language-unavailableNo 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.voice-unavailableThe voice set in
SpeechSynthesisUtterance.voicewas not available.text-too-longThe contents of the
SpeechSynthesisUtterance.textattribute was toolong to synthesize.invalid-argumentThe content of the
SpeechSynthesisUtterance.rate,SpeechSynthesisUtterance.pitchorSpeechSynthesisUtterance.volumeproperty was not valid.not-allowedThe operation's start was not allowed.
Examples
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 (const voice of voices) { if (voice.name === selectedOption) { utterThis.voice = voice; } } 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> |