Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.

View in English Always switch to English

SpeechSynthesis: voiceschanged Ereignis

Baseline Weitgehend verfügbar

Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit September 2022 browserübergreifend verfügbar.

Das voiceschanged Ereignis der Web Speech API wird ausgelöst, wenn sich die Liste der SpeechSynthesisVoice Objekte, die von der SpeechSynthesis.getVoices() Methode zurückgegeben werden, verändert hat (wenn das voiceschanged Ereignis ausgelöst wird).

Syntax

Verwenden Sie den Ereignisnamen in Methoden wie addEventListener(), oder setzen Sie eine Ereignisbehandler-Eigenschaft.

js
addEventListener("voiceschanged", (event) => { })

onvoiceschanged = (event) => { }

Ereignistyp

Ein generisches Event ohne zusätzliche Eigenschaften.

Beispiele

Dies könnte verwendet werden, um eine Liste von Stimmen, die der Benutzer auswählen kann, neu zu befüllen, wenn das Ereignis ausgelöst wird. Sie können das voiceschanged Ereignis in einer addEventListener Methode verwenden:

js
const synth = window.speechSynthesis;

synth.addEventListener("voiceschanged", () => {
  const voices = synth.getVoices();
  for (const voice of voices) {
    const option = document.createElement("option");
    option.textContent = `${voice.name} (${voice.lang})`;
    option.setAttribute("data-lang", voice.lang);
    option.setAttribute("data-name", voice.name);
    voiceSelect.appendChild(option);
  }
});

Oder verwenden Sie die onvoiceschanged Ereignisbehandler-Eigenschaft:

js
const synth = window.speechSynthesis;
synth.onvoiceschanged = () => {
  const voices = synth.getVoices();
  for (const voice of voices) {
    const option = document.createElement("option");
    option.textContent = `${voice.name} (${voice.lang})`;
    option.setAttribute("data-lang", voice.lang);
    option.setAttribute("data-name", voice.name);
    voiceSelect.appendChild(option);
  }
};

Spezifikationen

Spezifikation
Web Speech API
# eventdef-speechsynthesis-voiceschanged
Web Speech API
# dom-speechsynthesis-onvoiceschanged

Browser-Kompatibilität

Siehe auch