| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111 |
- /**
- * Copyright FunASR (https://github.com/alibaba-damo-academy/FunASR). All Rights
- * Reserved. MIT License (https://opensource.org/licenses/MIT)
- */
- /* 2021-2023 by zhaoming,mali aihealthx.com */
- function WebSocketConnectMethod( config ) { //定义socket连接方法类
-
- var speechSokt;
- var connKeeperID;
-
- var msgHandle = config.msgHandle;
- 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){
- 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 ) {
-
- if(speechSokt == undefined) return;
- if ( speechSokt.readyState === 1 ) { // 0:CONNECTING, 1:OPEN, 2:CLOSING, 3:CLOSED
-
- speechSokt.send( oneData );
-
-
- }
- };
-
- // SOCEKT连接中的消息与状态响应
- function onOpen( e ) {
- // 发送json
- var chunk_size = new Array( 5, 10, 5 );
- var request = {
- "chunk_size": chunk_size,
- "wav_name": "h5",
- "is_speaking": true,
- "chunk_interval":10,
- "mode":getAsrMode(),
-
- };
- if(isfilemode)
- {
- request.wav_format=file_ext;
- }
- var hotwords=getHotwords();
- if(hotwords.length>0)
- {
- request.hotwords=hotwords;
- }
- console.log(request);
- speechSokt.send( JSON.stringify(request) );
- console.log("连接成功");
- stateHandle(0);
-
- }
-
- function onClose( e ) {
- stateHandle(1);
- }
-
- function onMessage( e ) {
-
- msgHandle( e );
- }
-
- function onError( e ) {
-
- info_div.innerHTML="连接"+e;
- console.log(e);
- stateHandle(2);
-
- }
-
-
- }
|