2019-12-16

mui中将文字转为语音输出(百度语音)

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=no" />
    <title></title>
    <script src="js/mui.min.js"></script>
    <link href="css/mui.min.css" rel="stylesheet"/>
   
</head>
<body>
    <div id="">
        <textarea id="content" name="" rows="3" cols="20" style="top: 20px;height: 600px;"></textarea>
        <input id="play" type="button" class="mui-btn mui-btn-block mui-btn-blue" style="height: 50px;" value="播放"></input>
        <input id="puase" type="button" class="mui-btn mui-btn-block mui-btn-blue" style="height: 50px;" value="暂停"></input>
    </div>
     <script type="text/javascript" charset="utf-8">
        var tokenUrl = "https://openapi.baidu.com/oauth/2.0/token";
        var client_id = "API Key";//此处为申请的API Key;
        var client_secret = "Secret Key";//此处为申请的Secret Key;
        var access_token;
        var data = "grant_type=client_credentials&client_id="+client_id+"&client_secret="+client_secret;
        var p = document.createElement("audio");//创建一个潜在的audio播放器
          mui("body").on("tap","#play",function(){
              var tex = document.getElementById("content").value.replace(/[\r\n]/g,"").replace(/\ +/g,"").replace(/-/g, '').trim();//对文本进行去空格和换行;
            var a=0,b=0,c=0;
            var contentArray = new Array();
            if(tex.length/500>=0){//接口上传限制字数,避免出现接口腻出,限制上传字数
                for (var i = 0; i < tex.length/500; i++) {
                    a = a + 500;
                    splitTex = tex.slice(b,a);
                    b=a;
                    contentArray.push(splitTex);
                }
            }
              mui.ajax({
                type:"get",
                url:tokenUrl,
                data:data,
                async:true,
                success:function(resp){
                    if(resp.access_token){
                        access_token = resp.access_token;
                        var shibieUrl = "http://tsn.baidu.com/text2audio";
                        tex = encodeURI(encodeURI(contentArray[0]));
                        var data = "tex="+tex+"&tok="+access_token+"&cuid=00:00:00:00:00:00&ctp=1&lan=zh&spd=5&pit=5&vol=5&per=0&aue=3";
                          p.controls="controls";
                        p.src = shibieUrl+"?"+data;
                        p.play();
                        c++;
                    }else{
                    }
                },
                error:function(error){
                }
            });
            setTimeout(function(){
                p.addEventListener('ended', function () {  
                    if(contentArray.length>0&&c<=contentArray.length-1){
                        var shibieUrl = "http://tsn.baidu.com/text2audio";
                        tex = encodeURI(encodeURI(contentArray[c]));
                        var data = "tex="+tex+"&tok="+access_token+"&cuid=00:00:00:00:00:00&ctp=1&lan=zh&spd=5&pit=5&vol=5&per=0&aue=3";
                        p.src = shibieUrl+"?"+data;
                        p.play();
                        c++;
                    }else{
                        c=0;
                    }
                });
            },500);
          });
          mui("body").on("tap","#puase",function(){
            if(p.paused)                     {                 
                p.play();
            }else{
               p.pause();
            }
              
          });
    </script>
</body>
</html>
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Python (计算机程序设计语言) Python是一种跨平台的计算机程序设计语言。是一种面向对象的动态类型语言,...
    荼蘼toome阅读 259评论 0 0
  • 电子设备成了我们最亲密的爱人,男女老幼在它面前都失去了抵抗力,我也一样,深感惭愧却又很难戒掉。 微信成了和外界的通...
    靖待花开_7ad5阅读 104评论 0 0
  • 我能感觉到我的抑郁症越发的严重。在人前我装作什么都没发生,尽力去保守这个秘密。我不想有太多人知道这件事。但这毕竟是...
    荧光卡夫卡阅读 583评论 0 49
  • 1. android studio 下如何dump heap 如图所示,在android studio下dump内...
    nothingwxq阅读 1,564评论 0 3
  • 文/逐梦水乡 01、 打开简书,几十条信息蜂拥而至,有评论、有喜欢和赞、有关注、有其它提醒…… 一封简信深深地吸引...
    逐梦水乡阅读 2,511评论 64 63