var layer;// 定义全局变量 //标记播放页,默认true是单播放页,false为四播放页 var tagVideo = true; //标记播放的div var number = 0; //存放播放div对应的设备信息 var cameraData = [{id:null,url:null,type:null}, {id:null,url:null,type:null}, {id:null,url:null,type:null}, {id:null,url:null,type:null}, {id:null,url:null,type:null}]; //播放方式,IN表示内网访问,OUT表示外网访问,默认为IN var videoType; $(function () { layui.use(['layer', 'laypage', 'form', 'table', 'upload', 'element'], function () { layer = layui.layer; //初始化视频列表 initCameraList(cameraList); //根据第一个设备判断播放模式 firstCamera(cameraList[0]); //获取播放模式 videoType = $('#select_type').val(); //初始化时默认单播放页播放列表第一个设备 getMediaAddr(cameraList[0].id); }); }); //添加播放方式选择 $("#select_type").change(function () { videoType = $('#select_type').val(); //清空播放信息 if (tagVideo) { cameraData[number].url = null; cameraData[number].id = null; cameraData[number].type = null; clearVideo(number); }else { for(var j = 1;j'; if(data.type == "01"){ html += '

'; } if(data.type == "02"){ html += '

'; } html += data.name + '

'; }); //设置设备数量 $("#videoNum").html("当前共有" + list.length + "个视频监控"); } else { $("#videoNum").html("当前共有0个视频监控"); } $("#videoList").html(html); } //判断第一个设备播放模式,并设置模式选择框值 function firstCamera(data) { //判断web播放是否设置,若设置则默认使用web播放 if(data.webUrl){ //给选择框赋值 $("#select_type option[value='WEB']").attr("selected", true); return; } //判断web播放是否设置,若设置使用VLC播放 if(data.mediaAddr && data.ipIn){ //给选择框赋值 $("#select_type option[value='IN']").attr("selected", true); return; } //判断web播放是否设置,若设置使用VLC播放 if(data.mediaAddr && data.ipOut){ //给选择框赋值 $("#select_type option[value='OUT']").attr("selected", true); } } //根据id获取流媒体地址 function getMediaAddr(deviceId) { //判断设备播放模式是否支持所选方式 for(var i = 0; i0){ number = i-1; } break; } } } //根据设备id发送ajax请求到后台,更新流媒体播放地址 $.ajax({ type: 'POST', url: '../../basic/device/video/getMediaAddr', dataType: 'JSON', contentType: 'application/json', data: JSON.stringify({ "id": deviceId, "companyId": companyId, "videoType": videoType }), success: function (result) { if (result.code == '0000') { //判断使用哪个div播放 judgeVideo(result.data.newMediaAddr, deviceId); } } }); } //判断使用哪个div播放 function judgeVideo(mediaAddr, deviceId) { //判断当前是单播放页还是四播放页 if (!tagVideo) { //四播放页时,需要判断在哪个div中播放 if(number == 4){ //若number=4,则新的播放在1中播放,重新设置number为1 number = 1; }else { //若number为1、2、3,则新的播放在 number+1 中播放 number += 1; } } cameraData[number].url = mediaAddr; cameraData[number].id = deviceId; cameraData[number].type = videoType; startVideo(number, cameraData[number].url); } //单播放和四播放相互切换 var $tabHd = $(".sp-tab-hd span"); $tabHd.click(function () { //判断当前播放页并切换 if (tagVideo) { //单播放转四播放时,取单播放给四播放第一个 //标记为四播放页 tagVideo = false; if(cameraData[number].id != null){ //标记播放的div number = 1; //设置播放div的流媒体地址和设备id cameraData[number].url = cameraData[number-1].url; cameraData[number].id = cameraData[number-1].id; cameraData[number].type = cameraData[number-1].type; //清空单播放页div的流媒体地址和设备id cameraData[number-1].url = null; cameraData[number-1].id = null; cameraData[number-1].type = null; //清空单播放页div clearVideo(number-1); //div播放 startVideo(number, cameraData[number].url); } } else { //四播放转单播放时,取四播放第一个给单播放 //标记为单播放页 tagVideo = true; if(cameraData[1].id != null){ //标记播放的div number = 0; //设置播放div的流媒体地址和设备id cameraData[number].url = cameraData[number+1].url; cameraData[number].id = cameraData[number+1].id; cameraData[number].type = cameraData[number+1].type; //遍历清空四播放页div的流媒体地址和设备id for(var j = 1;j'; // // 测试 // html += ''; //hls模式 html += ''; //测试 // html += ''; $(tag).append(html); //初始化播放地址 var player = new EZUIKit.EZUIPlayer('myPlayer'+num); //播放 player.play(); }else { html += '' + ''+ '' + '' + '' + '' + '' + ''; $(tag).append(html); } } //清空div中的object播放标签 function clearVideo(num) { var tag = "#video" + num; $(tag).html(''); }