观天下!vue怎么实现文本转语音

时间:2022-11-19 17:03:25       来源:PHP中文网

本教程操作环境:windows7系统、vue3、Dell G3电脑。

vue怎么实现文本转语音?


(资料图)

vue实现文字转语音功能详解

目前h5新增一个文字转语音的功能(但是正在完善中,勉强能用),h5新增的SpeechSynthesisUtterance实例

首先new一个SpeechSynthesisUtterance对象

使用实例对象的一些属性,包括:

text – 要合成的文字内容,字符串。

lang – 使用的语言,字符串, 例如:"zh-cn"

voiceURI – 指定希望使用的声音和服务,字符串。

volume – 声音的音量,区间范围是0到1,默认是1。

rate – 语速,数值,默认值是1,范围是0.1到10,表示语速的倍数,例如2表示正常语速的两倍。

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

方法

speak() 将对应的实例添加到语音队列中

cancel() 删除队列中所有的语音.如果正在播放,则直接停止

pause() 暂停语音

resume() 恢复暂停的语音

getVoices 获取支持的语言数组. 注意:必须添加在voiceschanged事件中才能生效

但是这个方法不支持老版的ie,需要加浏览器判断方法

isIe(){    if(!!window.ActiveXObject || "ActiveXObject " in window){        return true    }else{        return false    }},
登录后复制

然后根据ie使用方法

voice(e){    window.speechSynthesis.cancel()      let timer      timer = setInterval(() => {        let msg = e        if(this.isIe()){            let voiceObj = new ActiveXObject("Sapi.SpVoice")            voiceObj.Rate = -1 // 语速            voiceObj.Volume = 50 // 音量            voiceObj.Speak(msg,1)        }else{            let speakMsg = new                SpeechSynthesisUtterance(msg)            speakMsg.rate = 1 // 语速            speakMsg.pitch = 3 // 音量            window.speechSynthesis.speak(speakMsg)        }     }, 1000)     setTimeout(() => {        // 一段时间后清除定时器        clearInterval(timer)     }, 1000)    },
登录后复制

推荐学习:《vue.js视频教程》

以上就是vue怎么实现文本转语音的详细内容,更多请关注php中文网其它相关文章!

关键词: 相关文章 使用方法 语音功能