SpeechSynthesisErrorEvent: error プロパティ
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since September 2018.
error
は SpeechSynthesisErrorEvent
インターフェイスのプロパティで、音声合成の失敗を示すエラーコードを返します。
値
エラーの理由を持つ文字列。使用可能な値は以下のとおりです。
canceled
-
SpeechSynthesis.cancel
メソッドが、SpeechSynthesisUtterance
が発話開始前にキューから除去されたために呼び出されました。 interrupted
-
SpeechSynthesis.cancel
メソッドが、SpeechSynthesisUtterance
が発話開始後に中断されたために呼び出されました。 audio-busy
-
ユーザーエージェントがオーディオ出力機器にアクセスできなかったため、この時刻に処理を完全に完了できませんでした(例えば、ユーザーは別のアプリケーションを閉じてこの問題を解決する必要ががある場合など)。
audio-hardware
-
ユーザーエージェントがオーディオ出力機器を特定できなかったため、操作を完了できませんでした(例えば、ユーザーはスピーカーを接続したり、システム設定を行ったりする必要があります)。
network
-
必要なネットワーク通信に失敗したため、今回の処理を完全に実行できませんでした。
-
この例では、利用できる合成エンジンがないため、処理を完了できませんでした(例えば、ユーザーは合成エンジンをインストールまたは設定する必要があります)。
synthesis-failed
-
合成エンジンがエラーを発生したため、処理が実行できませんでした。
-
SpeechSynthesisUtterance.lang
で設定するには、適切な音声が利用できませんでした。window.speechSynthesis.getVoices()
メソッドを使用して、ユーザーのブラウザーで対応している音声と言語を判別することができます。 -
SpeechSynthesisUtterance.voice
に設定した音声は利用できませんでした。 text-too-long
-
SpeechSynthesisUtterance.text
属性のコンテンツが長すぎて合成できませんでした。 invalid-argument
-
SpeechSynthesisUtterance.rate
、SpeechSynthesisUtterance.pitch
、SpeechSynthesisUtterance.volume
のいずれかのプロパティの内容が無効でした。 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();
};
仕様書
Specification |
---|
Web Speech API # dom-speechsynthesiserrorevent-error |
ブラウザーの互換性
BCD tables only load in the browser