var layer;
var splitWin = 1; //分屏数,默认1分屏
var windowsNum = null; //播放窗口下标,手动选择模式下使用
var timer;
var table;
var curCamera = null;
var playCamera = null;
var playList = {};
var playTag = 1; //默认内网播放
var playUrl1 = null;
var videoId1 = null;
let webrtc1;
let mediaStream1;
var playUrl2 = null;
var videoId2 = null;
let webrtc2;
let mediaStream2;
var playUrl3 = null;
var videoId3 = null;
let webrtc3;
let mediaStream3;
var playUrl4 = null;
var videoId4 = null;
let webrtc4;
let mediaStream4;
var playUrl5 = null;
var videoId5 = null;
let webrtc5;
let mediaStream5;
var playUrl6 = null;
var videoId6 = null;
let webrtc6;
let mediaStream6;
var playUrl7 = null;
var videoId7 = null;
let webrtc7;
let mediaStream7;
var playUrl8 = null;
var videoId8 = null;
let webrtc8;
let mediaStream8;
var playUrl9 = null;
var videoId9 = null;
let webrtc9;
let mediaStream9;
$(function () {
layui.use(['layer', 'table'], function () {
layer = layui.layer;
table = layui.table;
});
//初始化渲染播放列表
renderList();
});
/**
* 渲染监控列表
*/
function renderList() {
if (!listCamera || listCamera.length == 0) {
return;
}
var eleTable = document.getElementById("cameraList");
var _tr;
var _td;
$.each(listCamera, function (index, item) {
_tr = document.createElement("tr");
_tr.ondblclick = function () {
getMedia(index);
};
_td = document.createElement("td");
_td.innerText = item.name;
_tr.appendChild(_td);
_td = document.createElement("td");
_td.innerText = item.type == "01" ? "枪机" : "球机";
_tr.appendChild(_td);
_td = document.createElement("td");
_td.innerText = item.status == "OFF" ? "离线" : "在线";
_tr.appendChild(_td);
eleTable.appendChild(_tr);
})
}
/**
* 点击获取播放信息
* @param index
*/
function getMedia(index) {
if(windowsNum == null){
windowsNum = 1;
}
playCamera = null;
var camera = listCamera[index];
playList[windowsNum] = camera;
var data = {
id: camera.id,
playType: camera.playType
};
$.ajax({
type: 'POST',
url: "/security/get-media",
dataType: 'JSON',
contentType: "application/json;charset=UTF-8",
data: JSON.stringify(data),
success: function (result) {
if (result.code != "SUCCESS") {
layer.msg(result.msg);
} else {
playCamera = result;
startPlay();
}
},
error: function (result) {
layer.msg(result.msg);
startPlay();
}
});
};
/**
* 播放窗口选中
* @param win1 分屏数
* @param win2 选中窗口数
*/
function selectWin(win1, win2) {
if (windowsNum) {
removeSelectCss();
}
splitWin = win1;
windowsNum = win2;
addSelectCss();
curCamera = playList[windowsNum];
}
/**
* 去除选中CSS
*/
function removeSelectCss() {
const target = document.getElementById("f" + splitWin + "_d" + windowsNum);
target.classList.remove('active');
}
/**
* 增加选中CSS
*/
function addSelectCss() {
const target = document.getElementById("f" + splitWin + "_d" + windowsNum);
target.classList.add('active');
}
/**
* 分屏切换
* @param tagNum 分屏数
*/
function fenping(tagNum) {
if (windowsNum) {
removeSelectCss();
}
playList = {};
//重置切换前的分屏窗口
reloadView(splitWin);
//赋值当前分屏数
splitWin = tagNum;
//重置切换后的分屏窗口
reloadView(splitWin);
//切换分屏图标及页面
if (tagNum === 1) {
$("#f_1").attr("src", "/img/web/group/fp_1_active.png");
$("#f_4").attr("src", "/img/web/group/fp_4.png");
$("#f_9").attr("src", "/img/web/group/fp_9.png");
$("#video_1").css('display', 'grid');
$("#video_4").css('display', 'none');
$("#video_9").css('display', 'none');
}
if (tagNum === 4) {
$("#f_1").attr("src", "/img/web/group/fp_1.png");
$("#f_4").attr("src", "/img/web/group/fp_4_active.png");
$("#f_9").attr("src", "/img/web/group/fp_9.png");
$("#video_1").css('display', 'none');
$("#video_4").css('display', 'grid');
$("#video_9").css('display', 'none');
}
if (tagNum === 9) {
$("#f_1").attr("src", "/img/web/group/fp_1.png");
$("#f_4").attr("src", "/img/web/group/fp_4.png");
$("#f_9").attr("src", "/img/web/group/fp_9_active.png");
$("#video_1").css('display', 'none');
$("#video_4").css('display', 'none');
$("#video_9").css('display', 'grid');
}
windowsNum = null;
}
/**
* 重置分屏前的窗口
* @param num
*/
function reloadView(num) {
var html;
for (var i = 1; i <= num; i++) {
html = '';
html += '';
$("#f" + num + "_d" + i).html(html);
}
}
/**
* 判断内网播放还是外网播放
*/
function startPlay() {
startPlay1();
}
/**
* 外网播放
*/
function startPlay1() {
if(windowsNum > splitWin){
windowsNum = 1;
}
if (!playCamera) {
$("#f" + splitWin + "_d" + windowsNum).html("未获取到摄像头播放信息!!");
}
if (playCamera.playUrl) {
var divId = "#f" + splitWin + "_d" + windowsNum;
var html = '