语音合成

1) 在你想出现播放器的地方插入一个层: <div id="speech_player" name="speech_player"></div> 层的id可以自己定。

2)把以下代码放在</body>前面:

<script type="text/javascript" src="http://speech.w3cool.com/swf/speech.js"></script>
<script type="text/javascript">
var _scid = "copytext"; // 你希望朗读的文章块的id;
var _spid = "speech_player"; //显示播放器的id;
_sp_bg = "0xCDDFF3"; //修改成你想要的颜色
_sp_leftbg = "0x357DCE";
_sp_lefticon = "0xF2F2F2";
_sp_rightbg = "0x357DCE";
_sp_rightbghover = "0x4499EE";
_sp_righticon = "0xF2F2F2";
_sp_righticonhover = "0xFFFFFF";
_sp_text = "0x357DCE";
_sp_slider = "0x357DCE";
_sp_track = "0xFFFFFF";
_sp_border = "0xFFFFFF";
_sp_loader = "0x8EC2F4";

speaker();
</script>

 1 var _scid = "contentid";
 2 var _spid = "speech_player";
 3 var _rate = 0;
 4 var _voice = "VW Lily";
 5 var _sp_bg = "0xCDDFF3";
 6 var _sp_leftbg = "0x357DCE";
 7 var _sp_lefticon = "0xF2F2F2";
 8 var _sp_rightbg = "0x357DCE";
 9 var _sp_rightbghover = "0x4499EE";
10 var _sp_righticon = "0xF2F2F2";
11 var _sp_righticonhover = "0xFFFFFF";
12 var _sp_text = "0x357DCE";
13 var _sp_slider = "0x357DCE";
14 var _sp_track = "0xFFFFFF";
15 var _sp_border = "0xFFFFFF";
16 var _sp_loader = "0x8EC2F4";
17 function speaker(){
18     var speech_text_post = "";
19     if(navigator.userAgent.indexOf("Firefox") > 0){
20         speech_text_post = document.getElementById(_scid).textContent;
21     }else{
22         speech_text_post = document.getElementById(_scid).innerText;
23     };
24     speech_text_post = speech_text_post.replace(/"/g,""");
25     var speech_init = new SWFObject("http://speech.w3cool.com/swf/speaker.swf", "speech_init", "290", "24", "9", "#FFFFFF");
26     speech_init.addVariable("speechtext", speech_text_post);
27     speech_init.addVariable("rate", _rate);
28     speech_init.addVariable("voice", _voice);
29     speech_init.addVariable("bg", _sp_bg);
30     speech_init.addVariable("leftbg", _sp_leftbg);
31     speech_init.addVariable("lefticon", _sp_lefticon);
32     speech_init.addVariable("rightbg", _sp_rightbg);
33     speech_init.addVariable("rightbghover", _sp_rightbghover);
34     speech_init.addVariable("righticon", _sp_righticon);
35     speech_init.addVariable("righticonhover", _sp_righticonhover);
36     speech_init.addVariable("text", _sp_text);
37     speech_init.addVariable("slider", _sp_slider);
38     speech_init.addVariable("track", _sp_track);
39     speech_init.addVariable("border", _sp_border);
40     speech_init.addVariable("loader", _sp_loader);
41     speech_init.addVariable("ref_url", window.location);
42     speech_init.addParam("wmode", "transparent");
43     if(_sp_text==_sp_bg){alert("欢迎使用说说语音合成系统\n访问http://speech.w3cool.com获得更多信息!");}
44     speech_init.addParam("allowScriptAccess", "always");
45     speech_init.write(_spid);
46 }
47 if(typeof deconcept=="undefined"){var deconcept=new Object();}if(typeof deconcept.util=="undefined"){deconcept.util=new Object();}if(typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a){if(!document.getElementById){return;}this.DETECT_KEY=_a?_a:"detectflash";this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);this.params=new Object();this.variables=new Object();this.attributes=new Array();if(_1){this.setAttribute("swf",_1);}if(id){this.setAttribute("id",id);}if(w){this.setAttribute("width",w);}if(h){this.setAttribute("height",h);}if(_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();if(!window.opera&&document.all&&this.installedVer.major>7){deconcept.SWFObject.doPrepUnload=true;}if(c){this.addParam("bgcolor",c);}var q=_7?_7:"high";this.addParam("quality",q);this.setAttribute("useExpressInstall",false);this.setAttribute("doExpressInstall",false);var _c=(_8)?_8:window.location;this.setAttribute("xiRedirectUrl",_c);this.setAttribute("redirectUrl","");if(_9){this.setAttribute("redirectUrl",_9);}};deconcept.SWFObject.prototype={useExpressInstall:function(_d){this.xiSWFPath=!_d?"expressinstall.swf":_d;this.setAttribute("useExpressInstall",true);},setAttribute:function(_e,_f){this.attributes[_e]=_f;},getAttribute:function(_10){return this.attributes[_10];},addParam:function(_11,_12){this.params[_11]=_12;},getParams:function(){return this.params;},addVariable:function(_13,_14){this.variables[_13]=_14;},getVariable:function(_15){return this.variables[_15];},getVariables:function(){return this.variables;},getVariablePairs:function(){var _16=new Array();var key;var _18=this.getVariables();for(key in _18){_16[_16.length]=key+"="+_18[key];}return _16;},getSWFHTML:function(){var _19="";if(navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");this.setAttribute("swf",this.xiSWFPath);}_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\"";_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";var _1a=this.getParams();for(var key in _1a){_19+=[key]+"=\""+_1a[key]+"\" ";}var _1c=this.getVariablePairs().join("&");if(_1c.length>0){_19+="flashvars=\""+_1c+"\"";}_19+="/>";}else{if(this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","ActiveX");this.setAttribute("swf",this.xiSWFPath);}_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\" style=\""+this.getAttribute("style")+"\">";_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";var _1d=this.getParams();for(var key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}var _1f=this.getVariablePairs().join("&");if(_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}_19+="</object>";}return _19;},write:function(_20){if(this.getAttribute("useExpressInstall")){var _21=new deconcept.PlayerVersion([6,0,65]);if(this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){this.setAttribute("doExpressInstall",true);this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));document.title=document.title.slice(0,47)+" - Flash Player Installation";this.addVariable("MMdoctitle",document.title);}}if(this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){var n=(typeof _20=="string")?document.getElementById(_20):_20;n.innerHTML=this.getSWFHTML();return true;}else{if(this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}return false;}};deconcept.SWFObjectUtil.getPlayerVersion=function(){var _23=new deconcept.PlayerVersion([0,0,0]);if(navigator.plugins&&navigator.mimeTypes.length){var x=navigator.plugins["Shockwave Flash"];if(x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|\s)+/,"").replace(/(\s+r|\s+b[0-9]+)/,".").split("."));}}else{if(navigator.userAgent&&navigator.userAgent.indexOf("Windows CE")>=0){var axo=1;var _26=3;while(axo){try{_26++;axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash."+_26);_23=new deconcept.PlayerVersion([_26,0,0]);}catch(e){axo=null;}}}else{try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}catch(e){try{var axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");_23=new deconcept.PlayerVersion([6,0,21]);axo.AllowScriptAccess="always";}catch(e){if(_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}catch(e){}}if(axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}}return _23;};deconcept.PlayerVersion=function(_29){this.major=_29[0]!=null?parseInt(_29[0]):0;this.minor=_29[1]!=null?parseInt(_29[1]):0;this.rev=_29[2]!=null?parseInt(_29[2]):0;};deconcept.PlayerVersion.prototype.versionIsValid=function(fv){if(this.major<fv.major){return false;}if(this.major>fv.major){return true;}if(this.minor<fv.minor){return false;}if(this.minor>fv.minor){return true;}if(this.rev<fv.rev){return false;}return true;};deconcept.util={getRequestParameter:function(_2b){var q=document.location.search||document.location.hash;if(_2b==null){return q;}if(q){var _2d=q.substring(1).split("&");for(var i=0;i<_2d.length;i++){if(_2d[i].substring(0,_2d[i].indexOf("="))==_2b){return _2d[i].substring((_2d[i].indexOf("=")+1));}}}return "";}};deconcept.SWFObjectUtil.cleanupSWFs=function(){var _2f=document.getElementsByTagName("OBJECT");for(var i=_2f.length-1;i>=0;i--){_2f[i].style.display="none";for(var x in _2f[i]){if(typeof _2f[i][x]=="function"){_2f[i][x]=function(){};}}}};if(deconcept.SWFObject.doPrepUnload){if(!deconcept.unloadSet){deconcept.SWFObjectUtil.prepUnload=function(){__flash_unloadHandler=function(){};__flash_savedUnloadHandler=function(){};window.attachEvent("onunload",deconcept.SWFObjectUtil.cleanupSWFs);};window.attachEvent("onbeforeunload",deconcept.SWFObjectUtil.prepUnload);deconcept.unloadSet=true;}}if(!document.getElementById&&document.all){document.getElementById=function(id){return document.all[id];};}var getQueryParamValue=deconcept.util.getRequestParameter;var FlashObject=deconcept.SWFObject;var SWFObject=deconcept.SWFObject;

时间: 2024-10-21 01:32:13

语音合成的相关文章

集成Android免费语音合成功能(在线、离线、离在线融合)

集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(离线)集成Android免费语音合成功能(在线.离线.离在线融合),有这一篇文章就够了(离在线融合) 转眼间,大半年没写文章了,没什么理由,就是人变懒了.囧~ 看标题,其实大家都被骗了,有这一篇文章还不够,我其实是打算分3篇文章来写的,如果合在一章里面就太长了,不过现在这个标题党横行的网络世界,我也被污染了,哈.那么为什么要分3篇文章来讲呢?看标题也能猜到了,就是在线.离线.离在线融合这3种语音合成方式,我将分别使

QT调用百度语音REST API实现语音合成

QT调用百度语音REST API实现语音合成 1.首先点击点击链接http://yuyin.baidu.com/docs/tts 点击access_token,获取access_token,里面有详细步骤,不再赘述 记下链接,等会在QT程序中会用到,tex后面跟要转换成语音的文字,tok后面是刚获得的access_token 2.打开Qt Creator,新建一个QWidget应用程序,绘制界面如下 3.获取语音按钮槽函数如下 void Widget::on_pushButton_clicked

微信学习总结 15 百度语音合成

百度语音合成通过REST API的方式给开发者提供一个通用的HTTP接口,基于该接口,开发者可以轻松的获取语音合成能力,本文档描述了使用语音合成服务REST API的方法. 对本文中将提到的名词约定如下: 语音合成:也被称为文本转换技术(TTS),它是将计算机自己产生的.或外部输入的文字信息转变为可以听得懂的.流利的口语输出的技术. 应用程序:在开发中调用了API.具有语音合成功能的产品线产品. 功能介绍 REST API支持对一段文本的合成,其中对于文本格式以及参数有一定的要求.请按照文档中描

讯飞在线语音合成

讯飞在线语音合成 效果图 源码 下载地址(Android Studio工程):http://download.csdn.net/detail/q4878802/9062261 下载SDK 1. 选择服务 2. 选择平台 3. 选择应用 4. 下载SDK 说明 之前的工程都是在Eclipse下演示的,随着Android Studio的普及,我这里也开始使用Android Studio写Demo,虽然细节导入jar包和so库的过程可能不太一样,但是整体的流程是一样的. 将jar包和so库导入Andr

科大讯飞和Tizen-TTS语音合成引擎

最近在做一个文本转语音TTS(Text to Speech)的第三方软件封装,使用的是国内语音技术龙头安徽科大讯飞公司提供的离线引擎AiSound5.0,主要用于汽车导航用途.科大讯飞还提供 了AiTalk用于语音识别,AiWrite用于手写识别服务等.另外还有针对6种平台的SDK和开发示例.      其中AiSound5.0只提供TTS接口(即将文本字符串合成PCM格式的音频数据),不提供播音功能,至于播放音频数据我采用的是pulseaduio.     一.科大讯飞语音平台 科大讯飞目前有

C#将科大讯飞语音合成文件转换为MULAW音频格式

任务描述:通过科大讯飞语音合成组件在线完成文本转语音的合成,然后再转换为电话系统IVR要求的音频格式: wave mu-law 16位 8kHZ 64kbps. 完成步骤: 首先,我们要先通过科大讯飞语音合成组件实现文本合成,由于科大讯飞提供的接口都是C语言的,如果用C#调用需要做二次封装,为了快速完成任务,我们直接在科大讯飞论坛中找到一个现成组件进行修改,感谢wangkang提供的分享. 1.下载C#代码:http://bbs.xfyun.cn/forum.php?mod=viewthread

初探科大讯飞-讯飞开放平台之语音合成

1:讯飞开放平台提供了很多服务,有语音相关的:离线,在线语音合成及识别:人机交互:有模式识别相关的:人脸识别,声纹识别:还要云存储等等,如有兴趣,自行百度. 2:看了下官方SDK,试着体验下.导入两个jar包到lib目录,以及两个dll和so文件放到工程根目录. 本次先体验下语音合成模块. 语音合成主要涉及一个类,如下,完成语音的合成 import com.iflytek.cloud.speech.SpeechConstant; import com.iflytek.cloud.speech.S

Node.js开发入门—语音合成示例

出于项目需要,搞了一个语音合成(TTS)的小示例,使用的是OKVoice. 我想在PC上测试,OKVoice的快速接入API可以实现我的目的,文档在这里:http://dev.okvoice.com/file.php. 直接上代码吧,okVoiceTts.js,内容如下: var http = require('http'); var fs =require('fs'); var crypto = require('crypto'); var util = require('util'); va

使用 MaryTTS 开源库进行语音合成

使用 MaryTTS 开源库进行语音合成 MaryTTS,主要面向使用西文的语音合成. 最新版5.1.2,支持 德语, 西班牙语 ,美式英语, 法语, 意大利语, 瑞典语, 俄语, 土耳其语 和 泰卢固语 的语音合成. 本记录使用的是5.1版 最新版的运行环境是jdk7+,而5.1版则是jdk6也行 项目需求: 能使用java进行本地的文本转语音的合成,不依赖网络(类似讯飞在线服务的方式). 能支持英法德主要这三种西文的语音合成 最好是开源的解决方案 综上所述,最后找到的就这个开源库,但是我在阅