这是
实验性技术
检查
浏览器兼容性表格
要小心谨慎在生产中使用这之前。
SpeechSynthesisUtterance
接口在
Web 语音 API
represents a speech request. It contains the content the speech service should read and information about how to read it (e.g. language, pitch and volume.)
SpeechSynthesisUtterance.SpeechSynthesisUtterance()
SpeechSynthesisUtterance
对象实例。
SpeechSynthesisUtterance
also inherits properties from its parent interface,
EventTarget
.
SpeechSynthesisUtterance.lang
Gets and sets the language of the utterance.
SpeechSynthesisUtterance.pitch
Gets and sets the pitch at which the utterance will be spoken at.
SpeechSynthesisUtterance.rate
Gets and sets the speed at which the utterance will be spoken at.
SpeechSynthesisUtterance.text
Gets and sets the text that will be synthesised when the utterance is spoken.
SpeechSynthesisUtterance.voice
Gets and sets the voice that will be used to speak the utterance.
SpeechSynthesisUtterance.volume
Gets and sets the volume that the utterance will be spoken at.
监听这些事件使用
addEventListener()
或通过把事件监听器赋值给
on
eventname
特性为此接口。
boundary
onboundary
特性。
end
onend
特性。
error
onerror
property
mark
onmark
特性。
pause
onpause
特性。
resume
onresume
特性。
start
onstart
特性。
In our basic
Speech synthesiser demo
(
source
), we first grab a reference to the SpeechSynthesis controller using
window.speechSynthesis
. After defining some necessary variables, we retrieve a list of the voices available using
SpeechSynthesis.getVoices()
and populate a select menu with them so the user can choose what voice they want.
Inside the
inputForm.onsubmit
handler, we stop the form submitting with
preventDefault()
,使用
构造函数
to create a new utterance instance containing the text from the text
<input>
, set the utterance's
voice
to the voice selected in the
<select>
element, and start the utterance speaking via the
SpeechSynthesis.speak()
方法。
var synth = window.speechSynthesis;
var voices = synth.getVoices();
var inputForm = document.querySelector('form');
var inputTxt = document.querySelector('input');
var voiceSelect = document.querySelector('select');
for(var i = 0; i < voices.length; i++) {
var option = document.createElement('option');
option.textContent = voices[i].name + ' (' + voices[i].lang + ')';
option.value = i;
voiceSelect.appendChild(option);
}
inputForm.onsubmit = function(event) {
event.preventDefault();
var utterThis = new SpeechSynthesisUtterance(inputTxt.value);
utterThis.voice = voices[voiceSelect.value];
synth.speak(utterThis);
inputTxt.blur();
}
| 规范 | 状态 | 注释 |
|---|---|---|
|
Web 语音 API
The definition of 'SpeechSynthesisUtterance' in that specification. |
草案 |
| 桌面 | 移动 | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
SpeechSynthesisUtterance
|
Chrome 33 | Edge ≤18 | 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 |
SpeechSynthesisUtterance()
构造函数
|
Chrome 33 | Edge ≤18 | 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 |
boundary
event
|
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 |
end
event
|
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 |
error
event
|
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 |
lang
|
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 |
mark
event
|
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 |
onboundary
|
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 |
onend
|
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 |
onerror
|
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 |
onmark
|
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 |
onpause
|
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 |
onresume
|
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 |
onstart
|
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 |
pause
event
|
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 |
pitch
|
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 |
rate
|
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 |
resume
event
|
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 |
start
event
|
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 |
text
|
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 |
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 |
volume
|
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 |
完整支持
不支持
实验。期望将来行为有所改变。
用户必须明确启用此特征。