var isCall,iCount; let rtc = null; //相关接口前缀 var demoRoot = window._CONFIG['videoInterface']; //发起视频通话的用户id (大屏发起请求,保证和用户账户id不重复即可) let applyId="1173";//重重重,这里写死9999吧,这样我们会把你标记成大屏 //发起视频通话的用户名称 let applyUser = "联动中心"; //房间号 let roomId=""; //拨打对象id 账号/密码:safesoftDemo/666666 let userId = "" //拨打对象名称 let userName = ""; //发起通话 $(function(){ let obj= GetRequest() roomId = obj.id//拨打对象id userId = obj.id//拨打对象id userName = obj.name//拨打对象name openVideoCall() }) function GetRequest() { var url = location.search; //获取url中"?"符后的字串 var theRequest = new Object(); if (url.indexOf("?") != -1) { var str = url.substr(1); strs = str.split("&"); for(var i = 0; i < strs.length; i ++) { theRequest[strs[i].split("=")[0]]=decodeURIComponent(strs[i].split("=")[1]); } } return theRequest; } function openVideoCall() { console.log(window) // $('#spth_win').show(); //拨打对象名称展示 $('#spth_caller').html(userName); isCall = 1; var config = genTestUserSig(applyId); //发送通话请求,数据库加一条通话请求数据 $.ajax({ url: demoRoot + 'video/call/apply', type: 'post', contentType: 'application/json', data: JSON.stringify({ applyId: applyId, userId: userId, roomId: roomId, applyUser: applyUser, acceptUser: userName }), dataType: 'json', success: function (data) { //js sdk 配置 rtc = new RtcClient({ userId: applyId,//用户id-------↓-----------唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点 roomId: userId,//房间号 roomId修改为userId sdkAppId: config.sdkAppId,//---↑-----------唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点,唯一修改点 userSig: config.userSig }); rtc.join();//推流 //轮询数据库,判断app是否挂断 iCount = setInterval("callExist(" + applyId + "," + roomId + ")", "3000"); }, error: function () { } }); } //查询app是否挂断 function callExist(userId, roomId) { $.ajax({ url: demoRoot + 'video/call/exist', type: 'post', data: { applyId: userId, roomId: roomId }, dataType: 'json', success: function (data) { if (data == false) { clearInterval(iCount); if (isCall == 1) { window.parent['goBack']() } if(rtc){ rtc.leave(); rtc = null; } $('#spth_win_all').hide(); $('#spth_win').hide(); } }, error: function () { } }); } //关闭视屏通话 function closeVideoCall() { $.ajax({ url: demoRoot + 'video/call/end', type: 'post', contentType: 'application/json', data: JSON.stringify({ applyId: applyId, userId: userId, roomId: roomId, applyUser: applyUser, acceptUser: userName }), dataType: 'json', success: function () { isCall = 0; rtc.leave(); rtc = null; }, error: function () { } }); window.parent['goBack']() }