您现在的位置是:网站首页> 编程资料编程资料
vue实现文字转语音功能详解_vue.js_
2023-05-24
418人已围观
简介 vue实现文字转语音功能详解_vue.js_
目前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实现文字转语音功能详解的文章就介绍到这了,更多相关vue语音播报内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
您可能感兴趣的文章:
相关内容
- vue 指令版富文本溢出省略截取示例详解_vue.js_
- Vue项目服务器部署刷新页面404问题及解决_vue.js_
- vue项目实现通过ip地址访问和localhost访问方式_vue.js_
- Vue使用Swiper封装轮播图组件的方法详解_vue.js_
- Vue3 KeepAlive实现原理解析_vue.js_
- ES6 关键字 let 和 ES5 及关键字 var 的区别解析_javascript技巧_
- threejs中使用drawbufferss示例详解_JavaScript_
- vue组件之间进行传值的方法_vue.js_
- Vue读取本地静态文件json的2种方法以及优缺点_vue.js_
- React中使用antd组件的方法_React_
