SpeechSynthesis: событие voiceschanged
Событие voiceschanged из API для работы с речью срабатывает, когда список объектов SpeechSynthesisVoice, которые возвращает метод SpeechSynthesis.getVoices(), изменяется (при срабатывании события voiceschanged).
Синтаксис
Используйте имя события в методах, таких как addEventListener(), или установите обработчик события.
addEventListener("voiceschanged", (event) => {});
onvoiceschanged = (event) => {};
Тип события
Общее событие Event без дополнительных свойств.
Примеры
Это можно использовать для повторного заполнения списка голосов, из которых пользователь может выбрать, когда срабатывает это событие. Вы можете использовать событие voiceschanged в методе addEventListener:
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);
}
});
Или использовать свойство обработчика события onvoiceschanged:
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);
}
};
Спецификации
| Спецификация |
|---|
| Web Speech API # eventdef-speechsynthesis-voiceschanged |
| Web Speech API # dom-speechsynthesis-onvoiceschanged |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
voiceschanged_event |
33 | 14 | 49 | 21 | 16 | 33 | 62 | Нет | 16 | 3.0 | Нет |
См. также
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/SpeechSynthesis/voiceschanged_event