雾聪
2023-08-10 ffb05b9ae7eccc47416e9e7fae9dea54d400a245
funasr/runtime/html5/static/wsconnecter.js
@@ -5,7 +5,8 @@
/* 2021-2023 by zhaoming,mali aihealthx.com */
function WebSocketConnectMethod( config ) { //定义socket连接方法类
    var Uri = "wss://30.220.136.139:5921/"  //   var Uri = "wss://30.221.177.46:5921/" //设置wss asr online接口地址 如 wss://X.X.X.X:port/wss/
   var speechSokt;
   var connKeeperID;
   
@@ -13,36 +14,50 @@
   var stateHandle = config.stateHandle;
           
   this.wsStart = function () {
      var Uri = document.getElementById('wssip').value; //"wss://111.205.137.58:5821/wss/" //设置wss asr online接口地址 如 wss://X.X.X.X:port/wss/
      if(Uri.match(/wss:\S*|ws:\S*/))
      {
         console.log("Uri"+Uri);
      }
      else
      {
         alert("请检查wss地址正确性");
         return 0;
      }
      if ( 'WebSocket' in window ) {
         speechSokt = new WebSocket( Uri ); // 定义socket连接对象
         speechSokt.onopen = function(e){onOpen(e);}; // 定义响应函数
         speechSokt.onclose = function(e){onClose(e);};
         speechSokt.onclose = function(e){
             console.log("onclose ws!");
             //speechSokt.close();
            onClose(e);
            };
         speechSokt.onmessage = function(e){onMessage(e);};
         speechSokt.onerror = function(e){onError(e);};
         return 1;
      }
      else {
         alert('当前浏览器不支持 WebSocket');
         return 0;
      }
   };
   
   // 定义停止与发送函数
   this.wsStop = function () {
      if(speechSokt != undefined) {
         console.log("stop ws!");
         speechSokt.close();
      }
   };
   
   this.wsSend = function ( oneData,stop ) {
   this.wsSend = function ( oneData ) {
 
      if(speechSokt == undefined) return;
      if ( speechSokt.readyState === 1 ) { // 0:CONNECTING, 1:OPEN, 2:CLOSING, 3:CLOSED
 
         speechSokt.send( oneData );
         if(stop){
            setTimeout(speechSokt.close(), 3000 );
 
         }
         
      }
   };
@@ -56,10 +71,13 @@
         "wav_name":  "h5",
         "is_speaking":  true,
         "chunk_interval":10,
         "mode":getAsrMode(),
      };
      console.log(request);
      speechSokt.send( JSON.stringify(request) );
      console.log("连接成功");
      stateHandle(0);
   }
   
   function onClose( e ) {
@@ -72,9 +90,11 @@
   }
   
   function onError( e ) {
      info_div.innerHTML="连接"+e;
      console.log(e);
      stateHandle(2);
   }