语音合成:getVoices() 方法
基线 广泛可用
此功能已经成熟,并在许多设备和浏览器版本中均可正常工作。它自 2018 年 9 月.
报告反馈
语法
getVoices()
方法是 SpeechSynthesis
接口的方法,它返回一个 SpeechSynthesisVoice
对象列表(数组),这些对象表示当前设备上所有可用的语音。getVoices()
js
参数
无。
返回值
示例
JavaScript
getVoices()
方法是 SpeechSynthesis
接口的方法,它返回一个 SpeechSynthesisVoice
对象列表(数组),这些对象表示当前设备上所有可用的语音。function populateVoiceList() {
if (typeof speechSynthesis === "undefined") {
return;
}
const voices = speechSynthesis.getVoices();
for (let i = 0; i < voices.length; i++) {
const option = document.createElement("option");
option.textContent = `${voices[i].name} (${voices[i].lang})`;
if (voices[i].default) {
option.textContent += " — DEFAULT";
}
option.setAttribute("data-lang", voices[i].lang);
option.setAttribute("data-name", voices[i].name);
document.getElementById("voiceSelect").appendChild(option);
}
}
populateVoiceList();
if (
typeof speechSynthesis !== "undefined" &&
speechSynthesis.onvoiceschanged !== undefined
) {
speechSynthesis.onvoiceschanged = populateVoiceList;
}
HTML
一个
SpeechSynthesisVoice
对象列表(数组)。<select id="voiceSelect"></select>
规范
html |
---|
Web 语音 API # 规范 |
浏览器兼容性
dom-speechsynthesis-getvoices