今天发现一个有意思的功能,语音功能,可以将输入的文字通过语言播放出来
非常简单 两行代码
<script>
let utter = new SpeechSynthesisUtterance('你好啊')
speechSynthesis.speak(utter)
</script>
浏览器会语言播放 你好啊
里面还有其他属性
-
lang:语言代码,表示要转换的文本所使用的语言,默认值为浏览器的默认语言。
-
text:要转换为音频的文本内容。
-
voice:要使用的说话人声音,是一个SpeechSynthesisVoice对象。
-
volume:音量大小,取值范围为0到1,默认值为1。
-
rate:语速,取值范围为0.1到10,默认值为1。
-
pitch:音调,取值范围为0到2,默认值为1。
-
onstart:开始播放时触发的事件处理函数。
-
onend:播放结束时触发的事件处理函数。
-
onerror:发生错误时触发的事件处理函数。
-
onpause:暂停播放时触发的事件处理函数。
-
onresume:继续播放时触发的事件处理函数。
可以自己百度查找 , 举几个例子
<script>
let utter = new SpeechSynthesisUtterance('你好啊')
speechSynthesis.onvoiceschanged = () => {
const voices = speechSynthesis.getVoices();
// 打印voices可以看到有很多数组 但是只有值localService 的值为 true的才能使用,我的浏览器只有前三个位true
console.log(voices);
utter.voice = voices[0]
// text属性可以修改语音文本
utter.text='哈哈哈'
// volume修改音量
utter.volume=0.5
speechSynthesis.speak(utter)
};
</script>