SpeechSynthesisUtterance:voice 属性
基线 广泛可用
此功能已经相当成熟,并在许多设备和浏览器版本中都能正常工作。它自 2018 年 9 月.
报告反馈
voice
属性是 SpeechSynthesisUtterance
接口的属性,用于获取和设置用于朗读语句的语音。
值
此属性应设置为 SpeechSynthesisVoice
对象之一,这些对象由 SpeechSynthesis.getVoices()
返回。如果在朗读语句之前未设置此属性,则将使用最适合语句的 lang
设置的默认语音。
示例
一个
SpeechSynthesisVoice
对象。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);
inputTxt.blur();
};
规范
js |
---|
Web 语音 API # 规范 |
浏览器兼容性
dom-speechsynthesisutterance-voice