目的:因为公司项目需要来浏览器播放语音,看了科大讯飞的产品,后面有发现html5有原生的api,更加方便,所以使用了

一、语音合成和语音识别

     “语音识别(Speech Recognition)”目前的就Chrome浏览器和Opera浏览器默认支持,但是,“语音合成(Speech Synthesis)”的兼容性要好上太多了Chrome,FF,Edge,Safari等等都是支持的。

二、代码

var mess = '语音合成测试'

var msg = new SpeechSynthesisUtterance(mess)

msg.volume = 100  // 声音的音量

msg.rate = 1 // 语速,数值,默认值是1,范围是0.1到10

msg.pitch = 1.5 // 表示说话的音高,数值,范围从0(最小)到2(最大)。默认值为1

speechSynthesis.speak(msg)

三、遇到的问题

 

 

The AudioContext was not allowed to start. It must be resumed (or created) after a user gesture on the page.

[Deprecation] speechSynthesis.speak() without user activation is no longer allowed since M71, around December 2018. See https://www.chromestatus.com/feature/5687444770914304 for more details

解决方法: 进去必须有一个激活动作,如点击事件click,或者你直接鼠标点击页面某处就可以播放了

Logo

CSDN联合极客时间,共同打造面向开发者的精品内容学习社区,助力成长!

更多推荐