SpeechSynthesisErrorEvent: error-Eigenschaft

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.

Die error Eigenschaft des SpeechSynthesisErrorEvent-Interfaces gibt einen Fehlercode zurück, der angibt, was bei einem Sprachsyntheseversuch schiefgelaufen ist.

Wert

Ein String, der den Grund des Fehlers enthält. Mögliche Werte sind:

canceled

Ein Aufruf der Methode SpeechSynthesis.cancel führte dazu, dass die SpeechSynthesisUtterance aus der Warteschlange entfernt wurde, bevor sie zu sprechen begann.

interrupted

Ein Aufruf der Methode SpeechSynthesis.cancel führte dazu, dass die SpeechSynthesisUtterance unterbrochen wurde, nachdem sie zu sprechen begonnen hatte und bevor sie abgeschlossen wurde.

audio-busy

Der Vorgang konnte zu diesem Zeitpunkt nicht abgeschlossen werden, weil der User-Agent nicht auf das Audioausgabegerät zugreifen konnte (zum Beispiel muss der Benutzer möglicherweise eine andere Anwendung schließen).

audio-hardware

Der Vorgang konnte zu diesem Zeitpunkt nicht abgeschlossen werden, weil der User-Agent kein Audioausgabegerät identifizieren konnte (zum Beispiel muss der Benutzer möglicherweise einen Lautsprecher anschließen oder die Systemeinstellungen konfigurieren).

network

Der Vorgang konnte zu diesem Zeitpunkt nicht abgeschlossen werden, weil eine erforderliche Netzwerkkommunikation fehlgeschlagen ist.

synthesis-unavailable

Der Vorgang konnte zu diesem Zeitpunkt nicht abgeschlossen werden, weil keine Synthesemaschine verfügbar war (zum Beispiel muss der Benutzer möglicherweise eine Synthesemaschine installieren oder konfigurieren).

synthesis-failed

Der Vorgang schlug fehl, weil die Synthesemaschine einen Fehler verursacht hat.

language-unavailable

Keine passende Stimme war für die in SpeechSynthesisUtterance.lang gesetzte Sprache verfügbar. Sie können die Methode window.speechSynthesis.getVoices() verwenden, um festzustellen, welche Stimmen und Sprachen im Browser des Benutzers unterstützt werden.

voice-unavailable

Die in SpeechSynthesisUtterance.voice gesetzte Stimme war nicht verfügbar.

text-too-long

Der Inhalt des Attributs SpeechSynthesisUtterance.text war zu lang, um synthetisiert zu werden.

invalid-argument

Der Inhalt der Eigenschaft SpeechSynthesisUtterance.rate, SpeechSynthesisUtterance.pitch oder SpeechSynthesisUtterance.volume war nicht gültig.

not-allowed

Der Start des Vorgangs war nicht erlaubt.

Beispiele

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();
};

Spezifikationen

Specification
Web Speech API
# dom-speechsynthesiserrorevent-error

Browser-Kompatibilität

BCD tables only load in the browser

Siehe auch