<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>语音播报</title></head><body><h1>语音播报</h1><input id="btn1" type="button" value ="点我" onclick="speak();"/><input id="txt_content" type="text" name="txt_content"/>
</body></html><script>var x= document.getElementById("txt_content");function speak(){const sos =x.value;const synth = window.speechSynthesis;let msg = new SpeechSynthesisUtterance(sos);msg.lang = "zh-CN"; // 使用的语言:中文msg.volume = 100; // 声音音量:1msg.rate = 0.75; // 语速:1msg.pitch = 9; // 音高:1、synth.speak(msg)}
</script>
详解
SpeechSynthesisUtterance 是 Web Speech API 的接口,表示语音请求。它包含语音服务应阅读的内容以及有关如何阅读的信息(例如语言,音调和音量)。
构造函数
SpeechSynthesisUtterance.SpeechSynthesisUtterance()
返回一个新的 SpeechSynthesisUtterance 对象实例。
属性
SpeechSynthesisUtterance 还从其父接口 EventTarget 继承了属性。
SpeechSynthesisUtterance.lang
获取和设置说话时的语言。
SpeechSynthesisUtterance.pitch
获取和设置说话时的音调。
SpeechSynthesisUtterance.rate
获取和设置说话时的速度。
SpeechSynthesisUtterance.text
获取和设置在说出语音时将要合成的文本。
Gets and sets the text that will be synthesised when the utterance is spoken.
SpeechSynthesisUtterance.voice
获取和设置将用于说出语音的声音。
SpeechSynthesisUtterance.volume
获取和设置说话的音量。
事件
使用 addEventListener() 或通过为此接口的 oneventname 属性分配事件监听器来监听这些事件
boundary
当语音达到单词或句子边界时触发。也可以通过 onboundary 属性处理。
end
语音说完后触发。也可以通过 onend 属性处理。
error
当发生错误而无法成功发声时触发。也可以通过 onerror 属性处理。
mark
当语音到达指定的 SSML “标记” 标签时触发。也可以通过 onmark 属性处理。
pause
语音在途中暂停时触发。也可以通过 onpause 属性处理。
resume
恢复暂停的语音时触发。也可通过 onresume 属性处理。
start
在开始说出语音时触发。也可以通过 onstart` 属性处理。