SpeechSynthesis: voiceschanged-Ereignis
Das voiceschanged
-Ereignis der Web Speech API wird ausgelöst, wenn sich die Liste der SpeechSynthesisVoice
-Objekte geändert hat, die durch die Methode SpeechSynthesis.getVoices()
zurückgegeben werden würde (wenn das voiceschanged
-Ereignis ausgelöst wird).
Syntax
Verwenden Sie den Ereignisnamen in Methoden wie addEventListener()
oder setzen Sie eine Ereignis-Handler-Eigenschaft.
addEventListener("voiceschanged", (event) => {});
onvoiceschanged = (event) => {};
Ereignistyp
Ein generisches Event
ohne zusätzliche Eigenschaften.
Beispiele
Dies könnte verwendet werden, um eine Liste von Stimmen neu zu füllen, zwischen denen der Benutzer wählen kann, wenn das Ereignis ausgelöst wird. Sie können das voiceschanged
-Ereignis in einer addEventListener
-Methode verwenden:
const synth = window.speechSynthesis;
synth.addEventListener("voiceschanged", () => {
const voices = synth.getVoices();
for (let i = 0; i < voices.length; i++) {
const option = document.createElement("option");
option.textContent = `${voices[i].name} (${voices[i].lang})`;
option.setAttribute("data-lang", voices[i].lang);
option.setAttribute("data-name", voices[i].name);
voiceSelect.appendChild(option);
}
});
Oder verwenden Sie die onvoiceschanged
-Ereignis-Handler-Eigenschaft:
const synth = window.speechSynthesis;
synth.onvoiceschanged = () => {
const voices = synth.getVoices();
for (let i = 0; i < voices.length; i++) {
const option = document.createElement("option");
option.textContent = `${voices[i].name} (${voices[i].lang})`;
option.setAttribute("data-lang", voices[i].lang);
option.setAttribute("data-name", voices[i].name);
voiceSelect.appendChild(option);
}
};
Spezifikationen
Specification |
---|
Web Speech API # eventdef-speechsynthesis-voiceschanged |
Web Speech API # dom-speechsynthesis-onvoiceschanged |
Browser-Kompatibilität
BCD tables only load in the browser