SpeechSynthesisUtterance基本属性
SpeechSynthesisUtterance.lang //获取并设置话语的语言
SpeechSynthesisUtterance.pitch //获取并设置话语的音调(值越大越尖锐,越低越低沉)
SpeechSynthesisUtterance.rate //获取并设置说话的速度(值越大语速越快,越小语速越慢)
SpeechSynthesisUtterance.text //获取并设置说话时的文本
SpeechSynthesisUtterance.voice //获取并设置说话的声音
SpeechSynthesisUtterance.volume //获取并设置说话的音量
SpeechSynthesisUtterance基本方法
boundary 或 onboundary//当说出的话语到达单词或句子的边界时触发。
end 或 onend //当话语说完时触发。
error 或 onerror//当发生错误导致无法成功说出话语时触发。
mark 或 onmark //当语音到达一个命名的 SSML“标记”标签时触发。
pause 或 onpause //当话语中途暂停时触发。
resume 或 onresume//当暂停的话语恢复时触发。
start 或 onstart //当话语开始被说出时触发。
speechSynthesis对象,主要作用是触发行为,例如读,停,还原等
window.speechSynthesis.speak(msg)
speak() //– 只能接收SpeechSynthesisUtterance作为唯一的参数,作用是读合成的话语。
cancel() //– 删除队列中所有的语音.如果正在播放,则直接停止。
pause() //– 暂停合成过程。
resume() //– 重新开始合成过程。
getVoices //– 此方法不接受任何参数,用来返回浏览器支持的语音包列表注意:必须添加在voiceschanged事件中才能生效,是个数组
例子
<body>
<button id="btn">点击</button>
</body>
<script type="text/javascript">
let dom = document.getElementById('btn');
dom.addEventListener('click', function(e) {
console.log('mmm');
let msg = new SpeechSynthesisUtterance();
msg.text = `诗词学习 :
关关雎鸠,在河之洲。窈窕淑女,君子好逑。
参差荇菜,左右流之。窈窕淑女,寤寐求之。
求之不得,寤寐思服。悠哉悠哉,辗转反侧。
参差荇菜,左右采之。窈窕淑女,琴瑟友之。
参差荇菜,左右芼之。窈窕淑女,钟鼓乐之。`;
msg.lang = "zh-CN"; // 使用的语言:中文
msg.volume = 2; // 声音音量:1
msg.rate = 1; // 语速:1
msg.pitch = 1; // 音高:1
window.speechSynthesis.speak(msg)
})
</script>