科大讯飞文字合成语音 html5
来源:互联网 发布:天际重制版捏脸数据 编辑:程序博客网 时间:2024/05/20 16:11
科大讯飞 与 H5(思路)
1 获取文字
2 将文字和其他一些信息,调用讯飞接口,去转化为语音,回调给前端。
总结:文字转语音,前端并不能做什么只是传给后台进行处理。
<p>因项目需求,这里需要播放语音,但是网站的数据都是一些文字性的内容,所以我找到了讯飞平台,利用里面提供的Html5语音合成,实现这一功能</p><pre class="html" name="code"><!DOCTYPE html> <html> <head> <script src="https://thlg.nl/p/files/md5.js"></script> <script src="http://webapi.openspeech.cn/socket.io/socket.io.js"></script> <script src='http://webapi.openspeech.cn/fingerprint.js'></script> <script src="http://webapi.openspeech.cn/tts.min.js"></script> </head> <body> <div id="voice"> <input type="button" onclick="playVoice('今天天气不错,一起去海边烧烤怎么样!');" /> </div> </body> </html>
<script type="text/javascript"> //初始化Session对象 var session = new IFlyTtsSession({ 'url' : 'http://webapi.openspeech.cn/', 'interval' : '30000', 'disconnect_hint' : 'disconnect', 'sub' : 'tts' }); var audio = null; //输入文本,输出语音播放链接 @content 待合成文本(不超过4096字节) function play(content) { resetVoice(); var appid = "你的appid";//应用APPID,在open.voicecloud.cn上申请即可获得 var timestamp = new Date().toLocaleTimeString();//当前时间戳,例new Date().toLocaleTimeString() var expires = 60000;//签名失效时间,单位:ms,例60000 var vcn="vixr";//发音人,具体可参考官网的api //secretkey在open.voicecloud.cn上申请即可获得 var signature = faultylabs.MD5(appid + '&' + timestamp + '&' + expires + '&' + "你的secretkey"); var params = { "params" : "aue = speex-wb;7, ent = intp65, spd = 50, vol = 50, tte = utf8, caller.appid=" + appid + ",timestamp=" + timestamp + ",expires=60000,vcn="+vcn, "signature" : signature, "gat" : "mp3"}; session.start(params, content, function (err, obj) { if(err) { alert("语音合成发生错误,错误代码 :" + err); } else { if(audio != null) { audio.pause(); } audio = new Audio(); audio.src = ''; audio.play(); audio.src = "http://webapi.openspeech.cn/" + obj.audio_url; audio.play(); } },function(message){ //语音合成结束启动下一次合成 if(message=="onEnd"){ console.log("本次会话结束!"); audio=new Audio(); } }); }; function playVoice(str){ play(str); } //停止播放音频 function stopVoice(){ if(audio!=null){ audio.state=2; audio.pause(); } } //重置音频缓存队列和播放对象,若音频正在播放,则暂停当前播放对象,创建并使用新的播放对象 function resetVoice(){ if(audio!=null){ audio.pause(); } audio=new Audio(); } </script>
阅读全文
0 0
- html5 科大讯飞文字合成语音
- 科大讯飞文字合成语音 html5
- 文字合成语音TextToSpeech语音解决中文不能用问题
- 科大讯飞(语音合成和语音听写)
- 语音合成
- 语音合成
- 语音合成
- 语音合成
- 语音合成
- 语音合成
- 集成百度语音合成——把文字给以语音方式播放
- 科大讯飞和Tizen-TTS语音合成引擎
- Android 语音合成(使用科大讯飞sdk)
- Android 语音合成(使用科大讯飞sdk)
- Android 语音合成(使用科大讯飞sdk)
- Android 语音合成(使用科大讯飞sdk)
- 集成科大讯飞TTS【离线语音合成服务】
- 简单的语音合成与语音识别(科大讯飞)
- 多线程下file的锁
- Intellij idea 文件注释模板
- iOS 预处理语句
- 17-08-07 求最小公倍数
- 图片处理框架之picasso
- 科大讯飞文字合成语音 html5
- mongodb基础篇(三)上手的命令(未完待续。。。。)
- muse(musical.ly)音乐短视频去水印解析下载方法
- 使用jaxrs规范开发webservice(三)
- hammerJs-v2.0.4详解
- mysql 存储过程
- 公众号“今日作文素材”文章列表 (20170805-20170811)
- editor does not contain a main type" 错误解决方法
- https://ubuntuforums.org/showthread.php?t=2301071