js内置语音api,SpeechSynthesisUtterance

今天发现一个有意思的功能,语音功能,可以将输入的文字通过语言播放出来

非常简单  两行代码

<script>
    let utter = new SpeechSynthesisUtterance('你好啊')

        speechSynthesis.speak(utter)


</script>

浏览器会语言播放 你好啊

里面还有其他属性

  1. lang:语言代码,表示要转换的文本所使用的语言,默认值为浏览器的默认语言。

  2. text:要转换为音频的文本内容。

  3. voice:要使用的说话人声音,是一个SpeechSynthesisVoice对象。

  4. volume:音量大小,取值范围为0到1,默认值为1。

  5. rate:语速,取值范围为0.1到10,默认值为1。

  6. pitch:音调,取值范围为0到2,默认值为1。

  7. onstart:开始播放时触发的事件处理函数。

  8. onend:播放结束时触发的事件处理函数。

  9. onerror:发生错误时触发的事件处理函数。

  10. onpause:暂停播放时触发的事件处理函数。

  11. 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>

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值