这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
voice
特性为
SpeechSynthesisUtterance
interface gets and sets the voice that will be used to speak the utterance.
This should be set to one of the
SpeechSynthesisVoice
objects returned by
SpeechSynthesis.getVoices()
. If not set by the time the utterance is spoken, the voice used will be the most suitable default voice available for the utterance's
lang
设置。
var myVoice = speechSynthesisUtteranceInstance.voice; speechSynthesisUtteranceInstance.voice = speechSynthesisVoiceInstance;
A
SpeechSynthesisVoice
对象。
var synth = window.speechSynthesis;
var inputForm = document.querySelector('form');
var inputTxt = document.querySelector('input');
var voiceSelect = document.querySelector('select');
var voices = synth.getVoices();
...
inputForm.onsubmit = function(event) {
event.preventDefault();
var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
var selectedOption = voiceSelect.selectedOptions[0].getAttribute('data-name');
for(i = 0; i < voices.length ; i++) {
if(voices[i].name === selectedOption) {
utterThis.voice = voices[i];
}
}
synth.speak(utterThis);
inputTxt.blur();
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web 语音 API
The definition of 'voice' in that specification. |
草案 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
voice
|
Chrome 33 | Edge 14 | Firefox 49 | IE 不支持 No | Opera 21 | Safari 7 | WebView Android 不支持 No | Chrome Android 33 | Firefox Android 62 | Opera Android 不支持 No | Safari iOS 7 | Samsung Internet Android 3.0 |
完整支持
不支持
实验。期望将来行为有所改变。
用户必须明确启用此特征。