Baseline Widely available
The error
property of the SpeechSynthesisErrorEvent
interface returns an error code indicating what has gone wrong with a speech synthesis attempt.
A string containing the error reason. Possible values are:
canceled
A SpeechSynthesis.cancel
method call caused the SpeechSynthesisUtterance
to be removed from the queue before it had begun being spoken.
interrupted
A SpeechSynthesis.cancel
method call caused the SpeechSynthesisUtterance
to 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.
synthesis-unavailable
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.
language-unavailable
No appropriate voice was available for the language set in SpeechSynthesisUtterance.lang
. You can use the window.speechSynthesis.getVoices()
method to determine which voices and languages are supported in the user's browser.
voice-unavailable
The voice set in SpeechSynthesisUtterance.voice
was not available.
text-too-long
The contents of the SpeechSynthesisUtterance.text
attribute was too long to synthesize.
invalid-argument
The content of the SpeechSynthesisUtterance.rate
, SpeechSynthesisUtterance.pitch
or SpeechSynthesisUtterance.volume
property was not valid.
not-allowed
The operation's start was not allowed.
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 Browser compatibility See also
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.3