zoukankan      html  css  js  c++  java
  • 语音循环播放测试demo

    <!DOCTYPE HTML>
    <html>
    <head>
      <title>测试</title>
      <script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.min.js"></script>
      
    </head>
    <body>
    <input id="word" type="text" value="呼叫">
    <button onclick="addList()">add</button>
    
    <audio id="player">
    </audio>
    
    </body>
    </html>
    <script>
    var list = [];
    var tempPlayIdx = 0;
    var isPlaying = false;
    var playUrl = "http://218.75.108.158/tts/webtts.aspx"
    
    $(document).on('click','.voice', function() {
        $(this).addClass('voice1');
        $("#player").bind('ended',function () {
            isPlaying = false;
        });
    });
    
    
    function addList() {
        var text = $("#word").val();
        list.push({"text":text});
    }
    
    function start() {
        window.setInterval(playNext,1000);
    }
    
    
    function playNext() {
        if(tempPlayIdx < list.length && !isPlaying){
          isPlaying = true;
          var tmpPlayText = list[tempPlayIdx].text;
          tempPlayIdx++;
          playSound(tmpPlayText);
        }
    }
    
    
    function playSound(text) {
      $("#player").attr("src", playUrl +"?text=" + text);
      $("#player").attr("autoplay", "autoplay");
      //$("#player").attr("controls", "controls");
      var aud = document.getElementById("player");
      aud.onended = function() {
          isPlaying = false;
      };
    }
    start();
    </script>

    在项目中用websocket来发送数据 在onmessage里获取数据

    //全局变量
    var arrayObj = new Array();
    ws.onmessage = function(evnt) {
            var a=    JSON.parse(evnt.data);
            //语音播报
            if(av !=null){
            person=new Object();
            person.avName=av;
            person.avStat=0;
            arrayObj.push(person);
            console.log(arrayObj);
                
        }
    }  
    function start() {
        window.setInterval(videLoad,1000);
    }
    function videLoad(){
            
         var playUrl = "http://218.75.108.158/tts/webtts.aspx?text=";
         var ordernum=0;
         if(arrayObj.length!=0){
         for (var i = 0; i < arrayObj.length; i++) {
             ordernum =i;
             if(arrayObj[i].avStat==1){
                 break;
             }
             if(arrayObj[i].avStat==2){
                 continue;
             }
             if(arrayObj[i].avStat==0){
                 var src= playUrl+arrayObj[i].avName;
                   $("#player").attr("src",src);
                 //  $("#player").attr("autoplay", "autoplay");
                 // $("#player").attr("controls", "controls");
                  var aud = document.getElementById("player");
                   arrayObj[ordernum].avStat=1;
             }
         }
    }    
         //播放中
         $("#player").bind('ended',function () {
            arrayObj[ordernum].avStat=2;
        });    
    
    }
    start();
  • 相关阅读:
    【BZOJ1010】【HNOI2008】玩具装箱
    【BZOJ1009】【HNOI2008】GT考试
    【BZOJ1008】【HNOI2008】越狱
    【BZOJ1007】【HNOI2008】水平可见直线
    【BZOJ1006】【HNOI2008】神奇的国度
    (考研)生产者消费者问题(赋代码)
    (考研)(精华)二叉树的知识结构图以及各种特殊的二叉树
    二叉树新的一种新建思路和遍历思路
    (简单但不容易写全对)逆置数组
    (经典)二叉树的层次遍历和快速排序
  • 原文地址:https://www.cnblogs.com/fanting/p/10077221.html
Copyright © 2011-2022 走看看