网络抖动,WebSDK改造说明


下载websdk demo

浏览器打开:https://docs.pingxingyun.com/doc/1687/

替换Demo页面

替换sample-plain-html/index.html页面

重要代码片段说明

  • 以下三个红框中,需要根据私有化部署的环境替换正确的信息
    invalid image (图片无法加载)

  • 以下为断线重连的机制,详细请查阅注释

 
 // all event names under larksr_websdk.LarkSRClientEvent
            // larksr_websdk.LarkSRClientEvent.DATACHANNEL_TEXT same as "datachanneltext"
            // 监听连接成功事件、设置全局变量taskID,用于断网时,重新连接的凭据
            client.on('taskcreatesuccess', function (e) {
                console.log("LarkSRClientEvent taskcreatesuccess", e);
                taskId = e.data.taskid;
            });

            //监听视频加载成功事件,加载成功后,不再继续重试或者重新加载
            client.on('meidaloaded', function (e) {
                console.log("LarkSRClientEvent meidaloaded", e);
                clearInterval(timerId);
                clearTimeout(timeoutTimer)
            });

            //监听websocket代理连接断开事件,准备重连
            client.on('larkevent', function (e) {
                //console.log(e)
                if(e.larkevent == 102){
                    console.log("连接服务器的websocket代理关闭,即将进行断线重连");
                    startReload();
                }else if(e.larkevent == 202){
                    console.log("连接代理服务器的websocket关闭,即将进行断线重连");
                    startReload();
                }
            });

            // 开始计时执行重启
            function startReload() {
                doReload()
                // 设置时间间隔为5s
                timerId = setInterval(doReload, 5000)
                // 20秒后停止计时器
                timeoutTimer = setTimeout(() => {
                    stopClock();
                }, 20000);
            }

            function doReload() {
                client.connect({
                    // 要使用的云端资源的应用 ID,从后云雀后台接口获取
                    // 参考查询应用一栏文档
                    // https://www.pingxingyun.com/online/api3_2.html?id=476
                    appliId: "1256223117492092928",
                    taskId: taskId
                })
                    .catch(function (e) {
                        console.error('enter appli falied', e);
                    });
            }

            // 停止计时
            function stopClock() {
                clearInterval(timerId);
                clearTimeout(timeoutTimer)
                client.connect({
                    // 要使用的云端资源的应用 ID,从后云雀后台接口获取
                    // 参考查询应用一栏文档
                    // https://www.pingxingyun.com/online/api3_2.html?id=476
                    appliId: "1256223117492092928",
                })
                    .catch(function (e) {
                        console.error('enter appli falied', e);
                        alert(JSON.stringify(e));
                    });
            }

admin 2025年11月14日 14:25 收藏文档

开发者交流群

QQ群号:1011308692