jyyhq/witDisplay/js/video/qxVideo.js

979 lines
34 KiB
JavaScript
Raw Permalink Normal View History

2025-02-10 12:18:11 +08:00
// var dataUrl ="http://192.168.0.110:18888/rearScreen/"
// var dataUrl ="http://192.168.195.243:18888/rearScreen/"
var videoUrl = "http://192.168.0.110:18885/witDisplay/"
var clickCount = 0;
var token2 = localStorage.getItem('video_token');
var token1 = localStorage.getItem('video_token1');
//当前展示树 1移动球机2固定 球机
var openBallsNum = localStorage.getItem('openBallsNum');
var video_puid_1 = localStorage.getItem("video_puid")
//定义树节点初始数据
var zNodes1 = [];
//播放球机集合
let playBallList = [];
//窗口集合
let videoList = [];
//默认选择视频框
var selectedScreen = "video1";
//当前是几窗口模式
var numOfWindows = 1;
//全屏or窗口
let status = 1;
//平台在线的球机
var onLineBallList = [];
var imgType = 1;
var video_puid = '34020000001180000003';
var videoLoaded = true; // 在进入系统时初始化一个变量来记录视频是否加载完成默认为true
$(function () {
//接口状态数量
// interfaceStatus();
let html = "";
//加载球机树
getRoleTreeData(1,"")
// setTimeout('getRoleTreeData(1)',3500)
for (let i = 1; i <= 9; i++) {
videoList.push({
selectedScreen: "video" + i,
playState: false,
state: 0
})
html += '<canvas id="canvas_video' + i + '" style="display:none;"></canvas>'
}
$('#canvasDiv').empty().append(html);
//默认加载一个视频
ballOne();
//用于首页视频点击进入播放视频
setTimeout(function () {
if (!isEmpty(video_puid_1)){
video_puid = video_puid_1;
}
if (video_puid != "") {
let url = _cf_1.q2http_url + "stream.flv?puid=" + video_puid + "&idx=0&stream=0&token=" + token1;
//循环视频播放列表
try {
myPlayer = flvjs.createPlayer({
type: 'flv',
url: url,
isLive: true,
hasAudio: false
}, {
enableWorker: false,
autoCleanupSourceBuffer: true, //清理缓冲区
enableStashBuffer: false,
stashInitialSize: 128, // 减少首桢显示等待时长
statisticsInfoReportInterval: 600,
});
myPlayer.attachMediaElement(document.getElementById('video1'));
myPlayer.load();
setTimeout(function () {
myPlayer.play();
}, 200);
} catch (e) {
alert("该视频不在线。。。");
}
var selectedScreen = 'video1';
$('#video' + selectedScreen + '_html5_api').css("width", "100%");
$('#video' + selectedScreen + '_html5_api').css("height", "100%");
$('#video1').css("width", "85%");
$('#video1').css("height", "100%");
$('#video1').css("margin-left", "7%");
$('#video1').css("margin-top", "2%");
$('#video' + selectedScreen + '_html5_api').css("background-color", "black");
$('.vjs-text-track-display').hide();
$('.vjs-loading-spinner').hide();
$('.vjs-big-play-button').hide();
$('.vjs-control-bar').hide();
$('.vjs-error-display').hide();
$('.vjs-error-display').hide();
$('.vjs-modal-dialog').hide();
$('.vjs-poster').removeAttr("class");
$('.video' + selectedScreen + '-dimensions').css("width", "100%");
$('.video' + selectedScreen + '-dimensions').css("height", "100%");
}
playBallList.push({
puid: video_puid,
selectedScreen: 'video1',
window: 1,
start: true,
type: '1',
myPlayer: myPlayer,
token : token1,
pathType: 2
});
video_puid = '';
}, 1500);
// $("#imgBtn").click(function () {
// if (imgType === 1) {
// imgType = 2;
// $("#video-left").css("display", "none")
// $("#video-center").css("width", "98%")
// $("#imgBtn").attr("src", "right_triangle.png")
// } else {
// imgType = 1;
// $("#video-center").css("width", "75%")
// setTimeout(function () {
// $("#video-left").css("display", "")
// }, 2000)
// $("#imgBtn").attr("src", "left_triangle.png")
// }
// })
});
// 使用Layui的日期时间范围选择器组件
layui.use('laydate', function(){
var laydate = layui.laydate;
// 初始化起始时间选择器
laydate.render({
elem: '#start-time',
type: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
min: dayOffset(-11) + ' 00:00:00', // 设置最小可选日期
max: getCurrentDateTime(), // 设置最大可选日期
theme: 'grid',
done: function(value, date){
// 获取起始时间选择器的值
var startTime = new Date(value).getTime();
var endTime = new Date($('#end-time').val()).getTime();
// 如果结束时间早于起始时间,则自动修正为与起始时间相同
if (endTime < startTime){
$('#end-time').val(value);
}
}
});
// 初始化结束时间选择器
laydate.render({
elem: '#end-time',
type: 'datetime',
format: 'yyyy-MM-dd HH:mm:ss',
min: dayOffset(-11) + ' 00:00:00', // 设置最小可选日期
max: getCurrentDateTime(), // 设置最大可选日期
theme: 'grid',
done: function(value, date){
// 获取结束时间选择器的值
var startTime = new Date($('#start-time').val()).getTime();
var endTime = new Date(value).getTime();
// 如果结束时间早于起始时间,则自动修正为与起始时间相同
if (endTime < startTime){
$('#end-time').val($('#start-time').val());
}
}
});
});
// 获取当前日期时间字符串
function getCurrentDateTime(){
var now = new Date();
var year = now.getFullYear();
var month = padZero(now.getMonth() + 1);
var day = padZero(now.getDate());
var hours = padZero(now.getHours());
var minutes = padZero(now.getMinutes());
var seconds = padZero(now.getSeconds());
return year + '-' + month + '-' + day + ' ' + hours + ':' + minutes + ':' + seconds;
}
// 获取相对于当前日期的偏移量的日期字符串
function dayOffset(offset){
var now = new Date();
now.setDate(now.getDate() + offset);
var year = now.getFullYear();
var month = padZero(now.getMonth() + 1);
var day = padZero(now.getDate());
return year + '-' + month + '-' + day + ' 00:00:00';
}
// 数字补零函数
function padZero(num){
return num < 10 ? '0' + num : num;
}
$("#imgSearch").click(function () {
getRoleTreeData(1,$("#keyWord").val())
})
/**
* 监控视频-接口状态数量
*/
function interfaceStatus() {
$.ajax({
type: 'POST',
url: dataUrl + 'electricity/interfaceStatus',
data: "type=4",
dataType: 'json',
success: function(res) {
let interface = res.obj.electricityBean;
// document.getElementById('requestNum').innerText = parseInt(interface.requestNum);
// document.getElementById('successNum').innerText = parseInt(interface.successNum);
// document.getElementById('errorNum').innerText = parseInt(interface.errorNum);
document.getElementById('requestNum').innerText = 15;
document.getElementById('successNum').innerText = 15;
document.getElementById('errorNum').innerText = 0;
}
});
}
/**
* 球机树搜索---回车调用搜索方法
* @param event
*/
function handleKeyDown(event) {
if (event.keyCode === 13) {
event.preventDefault(); // 阻止默认的回车行为
// 在这里执行您想要的操作
getRoleTreeData(1,$("#keyWord").val())
}
}
//改变球机树 固定视频or移动视频
function changeView(num) {
localStorage.setItem('openBallsNum', num);
openBalls();
}
//改变选择样式
function openBalls() {
var nowNum = localStorage.getItem('openBallsNum');
if (nowNum == null || nowNum == "null") {
nowNum = '1';
}
console.log("nowNum===" + nowNum)
if (nowNum == 1) {
$("#null1").css("border-bottom", "4px solid transparent");
$("#null2").css("border-bottom", "4px solid #04A087");
getRoleTreeData(nowNum); //移动球机
} else if (nowNum == 2) {
$("#null1").css("border-bottom", "4px solid #04A087");
$("#null2").css("border-bottom", "4px solid transparent");
getRoleTreeData(nowNum); //移动球机
}
}
//树的设置
var setting1 = {
// 不显示引导线
view: {
selectedMulti: false,
// showIcon:false
},
data: {
simpleData: {
enable: true
}
},
edit: {
enable: false,
},
callback: {
onClick: onTreeClick,
// 点击前
beforeClick: beforeClick,
// 不允许拖拽
beforeDrag: beforeDrag,
// beforeExpand: zTreeBeforeExpand //节点展开前的事件
}
};
function beforeClick(treeId, treeNode) {
if (treeNode.id == 0) {
return false;
}
return true;
}
//不允许拖拽
function beforeDrag(treeId, treeNodes) {
return false;
}
//获取数据初始化树
function getRoleTreeData(ballType,keyWord) {
console.log("ballType===" + ballType);
$.ajax({
type: 'post',
url: dataUrl + 'video/getBallTreeData',
data: {
keyWord : keyWord
},
dataType: 'json',
success: function (result) {
var obj = result.obj;
if (obj == null && obj.length == 0) {
layer.alert("暂无球机信息");
} else {
var data = parseTreeData(obj);
var nodes = zNodes1.concat(data);
$.fn.zTree.init($("#resourceTree"), setting1, nodes);
}
},
error: function (e) {
console.log(e.resMsg);
},
});
}
/**
* 解析返回的树数据及其结构
* @param {Object} data
* @param {Object} allNum
*/
function parseTreeData(data) {
var allNum = 0;
var onlineNum = 0;
var noLineNum = 0;
for (var i = 0; i < data.length; i++) {
var nodeType = data[i].type;
if (nodeType == 1) {
data[i].icon = "../../img/video/jingyanyuan.png";
} else if (nodeType == 2) {
data[i].icon = "../../img/video/dong.png";
} else if (nodeType == 3) {
data[i].icon = "../../img/video/ceng.png";
} else if (nodeType == 4) {
allNum++;
data[i].icon = "../../img/video/notOnline.png";
if (data[i].onLine === '1') {
onlineNum++;
data[i].icon = "../../img/video/online.png";
data[i].ballStatus = "1";
continue;
}
}
}
$("#equipmentNmb").html(allNum);
$("#onlineNmb").html(onlineNum);
$("#OfflineNmb").html(allNum - onlineNum);
return data;
}
function dataClick() {
var element1 = document.getElementById("details1");
var element3 = document.getElementById("details3");
var videoWindow = document.getElementById("videoWindow");
var audioPlayer = document.getElementById("audioPlayer");
var centerNumCenter = document.getElementById("center_num_center");
var icon = document.getElementById("icon");
let treeDiv = document.getElementById("treeDiv");
var videoSwitch = document.getElementById("videoSwitch");
if (element1.style.display === "none") { // 如果第一个元素是隐藏状态audioPlayer
videoWindow.style.display = "block"; // 切换为显示状态
element1.style.display = "block"; // 切换为显示状态
centerNumCenter.style.display = "block"; // 切换为显示状态
element3.style.display = "none"; // 否则切换为隐藏状态
audioPlayer.style.display = "none"; // 否则切换为隐藏状态
icon.style.display = "none"; // 否则切换为隐藏状态
treeDiv.style.height = "380px";
videoSwitch.innerHTML = "视频监控";
} else {
videoWindow.style.display = "none"; // 否则切换为隐藏状态
element1.style.display = "none"; // 否则切换为隐藏状态
centerNumCenter.style.display = "none"; // 否则切换为隐藏状态
element3.style.display = "block"; // 切换为显示状态
audioPlayer.style.display = "block"; // 切换为显示状态
icon.style.display = "block"; // 切换为显示状态
treeDiv.style.height = "553px";
videoSwitch.innerHTML = "历史视频";
}
if (clickCount === 0) {
clickCount = 1;
stopVideo(null, null, 2);
} else if (clickCount === 1) {
clickCount = 0;
}
}
//播放历史视频
// function loadVideo(url) {
// // 创建一个 XMLHttpRequest 对象
// var xhr = new XMLHttpRequest();
//
// // 发送 HEAD 请求,获取视频文件的状态码
// xhr.open('HEAD', url, true);
// xhr.onreadystatechange = function() {
// if (xhr.readyState === 4) {
// if (xhr.status === 200) {
// var audioPlayer = document.getElementById('audioPlayer');
// audioPlayer.src = url;
//
// } else if (xhr.status === 404) {
// console.log('视频文件不存在,继续加载...');
// layer.msg('视频加载中', {icon: 15});
// setTimeout(function() {
// loadVideo(url); // 递归调用自身再次发送请求
// }, 3000); // 设置延迟时间(单位:毫秒),可以根据实际情况调整
// } else {
// // 其他状态码,处理错误情况
// console.error("请求视频文件失败");
// }
// }
// };
// xhr.send();
// }
function loadVideo(url) {
// 创建一个 XMLHttpRequest 对象
var xhr = new XMLHttpRequest();
// 发送 HEAD 请求,获取视频文件的状态码
xhr.open('HEAD', url, true);
xhr.onreadystatechange = function() {
if (xhr.readyState === 4) {
if (xhr.status === 200) {
setTimeout(function() {
const iframe = document.getElementById('audioPlayer');
iframe.setAttribute('src', url);
videoLoaded = true;
const el = document.querySelector('.layui-icon-refresh-3');
if (el) {
el.addEventListener('click', function() {
const iframe = document.getElementById('audioPlayer');
iframe.setAttribute('src', url);
videoLoaded = true;
});
}
}, 5000);
} else if (xhr.status === 404) {
console.log('视频文件不存在,继续加载...');
layer.msg('视频加载中', {icon: 10});
setTimeout(function() {
loadVideo(url); // 递归调用自身再次发送请求
}, 5000); // 设置延迟时间(单位:毫秒),可以根据实际情况调整
} else {
// 其他状态码,处理错误情况
console.error("请求视频文件失败");
}
}
};
xhr.send();
}
function playHistoricalVideo(startTime, endTime, videoType, channelId) {
console.log('开始时间:', startTime + '结束时间:', endTime + '视频类型:', videoType + '通道号:', channelId);
$.ajax({
type: 'POST',
url: dataUrl + 'video/playback',
data: {
startTime: startTime,
endTime: endTime,
channelId: channelId,
videoType: videoType
},
dataType: 'json',
success: function(res) {
let url = videoUrl + res.obj;
console.log("url:"+ url);
const iframe = document.getElementById('audioPlayer');
iframe.src = '';
//获取请求状态
getReadyState(startTime, endTime, videoType, channelId, url);
// loadVideo(url); // 调用加载视频的函数
}
});
}
function getReadyState( startTime, endTime, videoType, channelId, url) {
// 使用split方法将路径以斜杠为分隔符拆分成数组
const segments = url.split('/');
// 获取数组中最后一个非空元素,即最后一个斜杠之后的内容
const videoName = segments.filter(segment => segment !== '').pop();
console.log(videoName);
$.ajax({
type: 'POST',
url: dataUrl + 'video/getDownloadStatus',
data: {
videoName: videoName
},
dataType: 'json',
success: function(res) {
if (res.obj === 17) {
layer.msg('视频获取失败请稍等,正在重新获取...', {icon: 10});
playHistoricalVideo(startTime, endTime, videoType, channelId); // 下载失败回调重新获取视频地址
}else {
loadVideo(url); // 调用加载视频的函数
}
}
});
}
//获取树点击事件 执行播放视频
function onTreeClick(event, treeId, treeNode, clickFlag) {
console.log(clickCount)
if (clickCount === 0) {
if(playBallList.length > 0){
if (playBallList[0].puid === "34020000001180000003"){
playBallList[0].myPlayer.pause();
playBallList[0].myPlayer.unload();
playBallList[0].myPlayer.detachMediaElement();
playBallList[0].myPlayer.destroy();
playBallList[0].myPlayer = null;
playBallList = [];
}
}
let state = true;
var ballFrom = treeNode.onLine;
console.log("ballFrom=" + ballFrom);
var puid = treeNode.puid;
if (puid == '' || puid == "null") {
layer.alert("puid为空请联系运维人员核对");
return;
}
let ballStatus = treeNode.onLine;
console.log("puid=" + puid);
var name = treeNode.name;
var ballIndex = treeNode.ballIndex;
console.log("onTreeClick name=" + name);
console.log("onTreeClick ballIndex=" + ballIndex);
if (ballIndex == null) {
ballIndex = '0';
}
if (ballStatus != 1) {
alert("请选择在线视频观看");
return;
}
if (!isEmpty(puid)) {
//if (onLine === "1") {
if (true) {
//去除空播对象
remove();
$.each(playBallList, function (index, item) {
if (!isEmpty(item)) {
if (puid === item.puid) {
//notify("此球机正在播放,请勿重复播放", "warning", "");
ballScreen(item.selectedScreen.replace("video", ""));
state = false;
}
}
});
if (state) {
$.each(videoList, function (index, item) {
if (selectedScreen === item.selectedScreen) {
if (!item.playState) {
state = false;
}
}
});
//寻找没有播放视频的窗口
if (state && playBallList.length > 0) {
$.each(videoList, function (index, item) {
if (!item.playState) {
if (index < numOfWindows) {
selectedScreen = item.selectedScreen;
return false;
}
}
});
}
//视频替换
$.each(playBallList, function (index, item) {
if (!isEmpty(item)) {
if (selectedScreen === item.selectedScreen) {
if (item.start && item.myPlayer !== null) {
item.token = '';
item.myPlayer.pause();
item.myPlayer.unload();
item.myPlayer.detachMediaElement();
item.myPlayer.destroy();
item.myPlayer = null;
playBallList.splice(index, 1);
}
}
}
});
playBallList.push({
puid: puid,
selectedScreen: selectedScreen,
window: 1,
start: false,
type: ballFrom,
myPlayer: null,
token : '',
pathType: 2
});
$.each(videoList, function (index, item) {
if (selectedScreen === item.selectedScreen) {
item.playState = true;
}
});
//播放视频
qxPlayVideo(puid, ballIndex);
}
} else {
notify("请选择开机的球机", "warning", "");
}
}
}else if (clickCount === 1){
layui.use('layer', function(){
var layer = layui.layer;
var startTime = document.getElementById('start-time').value;
var endTime = document.getElementById('end-time').value;
let videoType = treeNode.videoType;
let channelId = treeNode.channelId;
if (startTime === '' || endTime === '') {
layer.msg('时间不能为空', {icon: 10});
} else {
// 计算起始时间和结束时间的间隔(单位:毫秒)
var timeDiff = new Date(endTime).getTime() - new Date(startTime).getTime();
// 判断视频时长是否超过两小时7200000毫秒
if (timeDiff > 7200000) {
layer.msg('视频不能超过两小时', {icon: 6});
} else {
if (videoLoaded) {
videoLoaded = false;
playHistoricalVideo(startTime, endTime, videoType, channelId);
}else {
// 弹出提示框询问用户是否确定关闭当前视频
layer.confirm('当前视频正在加载,是否确定关闭?', {icon: 3, title:'提示'}, function(index){
playHistoricalVideo(startTime, endTime, videoType, channelId);
layer.close(index); // 关闭提示框
}, function(index){
// 用户点击取消,则关闭当前操作,不发送新的请求
layer.close(index); // 关闭提示框
});
}
}
}
});
}
}
//防止重复播放,与去掉空播对象
function remove() {
$.each(playBallList, function (index, item) {
if (!isEmpty(item)) {
if (item.window === null) {
playBallList.splice(index, 1);
}
}
});
}
/**
* 播放视频
* @param puId
* @param idx
*/
function qxPlayVideo(puId, idx) {
setTimeout(function () {
readyPlay(puId, idx);
}, 500);
}
//开始播放视频
function readyPlay(puId, idx) {
//若是清晰平台,删除连接对象
// mySet.delete(selectedScreen);
var tk = token1;
var pathType = 2;
let url = _cf_1.q2http_url + "stream.flv?puid=" + puId + "&idx=" + idx + "&stream=0&token=" + token1;
if (playBallList.length > 5) {
url = _cf.q2http_url + "stream.flv?puid=" + puId + "&idx=" + idx + "&stream=0&token=" + token2;
tk = token2;
pathType = 1;
console.log("tk=============="+tk)
}
console.log("playBallList1111=" + JSON.stringify(playBallList));
//循环视频播放列表
var isPlay = null;
$.each(playBallList, function (index, item) {
if (!isEmpty(item)) {
if (selectedScreen === item.selectedScreen) {
if (item.window !== null) {
var playObj = item.myPlayer
isPlay = item.start;
try {
var myPlayer = flvjs.createPlayer({
type: 'flv',
url: url,
isLive: true,
hasAudio: false
}, {
enableWorker: false,
autoCleanupSourceBuffer: true, //清理缓冲区
enableStashBuffer: false,
stashInitialSize: 128, // 减少首桢显示等待时长
statisticsInfoReportInterval: 600,
// fixAudioTimestampGap : false
});
myPlayer.attachMediaElement(document.getElementById(item.selectedScreen));
myPlayer.load();
setTimeout(function () {
myPlayer.play();
}, 200);
item.myPlayer = myPlayer;
item.start = true;
item.token = tk;
item.pathType = pathType;
console.log("playBallList222=" + JSON.stringify(playBallList));
console.log("item.token==========" + item.token);
} catch (e) {
alert("该视频不在线。。。");
}
}
}
}
});
$('#video' + selectedScreen + '_html5_api').css("width", "100%");
$('#video' + selectedScreen + '_html5_api').css("height", "100%");
$('#video' + selectedScreen).css("width", "100%");
$('#video' + selectedScreen).css("height", "100%");
$('#video' + selectedScreen + '_html5_api').css("background-color", "black");
$('.vjs-text-track-display').hide();
$('.vjs-loading-spinner').hide();
$('.vjs-big-play-button').hide();
$('.vjs-control-bar').hide();
$('.vjs-error-display').hide();
$('.vjs-error-display').hide();
$('.vjs-modal-dialog').hide();
$('.vjs-poster').removeAttr("class");
$('.video' + selectedScreen + '-dimensions').css("width", "100%");
$('.video' + selectedScreen + '-dimensions').css("height", "100%");
}
/**
* @param {*} player 播放控件对象
* @param {*} index playBallList 下标第几个
* @param {*} type 类型 1切换窗口关闭视频2主动关闭视频
*/
function stopVideo(player, index, type) {
if (type == 1) {
player.unload();
player.detachMediaElement();
player.destroy();
player = null;
videoList.splice(index, 1);
for (let i = 0; i < videoList.length; i++) {
if (selectedScreen === videoList[i].selectedScreen) {
videoList[i].playState = false;
}
}
} else {
$.each(playBallList, function (index, item) {
if (!isEmpty(item)) {
if (selectedScreen === item.selectedScreen) {
let start = item.start;
let player = item.myPlayer;
item.token = '';
if (start && player !== null) {
player.pause();
player.unload();
player.detachMediaElement();
player.destroy();
player = null;
playBallList.splice(index, 1);
}
}
}
});
for (let i = 0; i < videoList.length; i++) {
if (selectedScreen === videoList[i].selectedScreen) {
videoList[i].playState = false;
}
}
}
}
//1个视频
function ballOne() {
setBallNumBtnStyle(1);
numOfWindows = 1;
document.getElementById("ball1").style.cssText = "width: 97%;height: 98.6%;float:left";
document.getElementById("video1").style.cssText = "width: 100%;height: 100%;";
$('.video1-dimensions').css("width", "100%");
$('.video1-dimensions').css("height", "100%");
// $.each(playBallList, function (index, item) {
// if (!isEmpty(item)) {
// if (item.selectedScreen !== "video1") {
// let start = item.start;
// let player = item.myPlayer;
// if(start && player != null){
// stopVideo(player,index,1);
// }
// }
// }
// });
for (var i = 2; i <= 9; i++) {
document.getElementById("ball" + i).style.display = "none";
}
for (let i = 2; i <= 9; i++) {
videoList[i - 1].playState = false;
}
}
//4个视频
function ballFour() {
setBallNumBtnStyle(4);
numOfWindows = 4;
// $.each(playBallList, function (index, item) {
// if (!isEmpty(item)) {
// if (item.selectedScreen.replace("video","") > 4 ) {
// let start = item.start;
// let player = item.myPlayer;
// if(start && player != null){
// stopVideo(player,index,1);
// }
// }
// }
// });
for (var i = 1; i < 5; i++) {
document.getElementById("ball" + i).style.cssText = "width: 48.5%;height: 48.8%;float:left";
document.getElementById("video" + i).style.cssText = "width: 100%;height: 100%;";
$('.video' + i + '-dimensions').css("width", "100%");
$('.video' + i + '-dimensions').css("height", "100%");
}
for (var i = 5; i <= 9; i++) {
document.getElementById("ball" + i).style.display = "none";
}
for (let i = 5; i <= 9; i++) {
videoList[i - 1].playState = false;
}
}
//9个视频
function ballNine() {
setBallNumBtnStyle(9);
numOfWindows = 9;
for (var i = 1; i <= 9; i++) {
document.getElementById("ball" + i).style.cssText = "width: 32.2%;height: 32%;float:left";
document.getElementById("video" + i).style.cssText = "width: 100%;height: 100%;";
$('.video' + i + '-dimensions').css("width", "100%");
$('.video' + i + '-dimensions').css("height", "100%");
}
}
//设置球机上方数字样式
function setBallNumBtnStyle(type) {
var a = [1, 4, 9];
for (var i = 0; i < a.length; i++) {
if (a[i] == type) {
document.getElementById('ballBtn' + type).style.background = '#17CBAE';
} else {
document.getElementById('ballBtn' + a[i]).style.background = 'transparent';
}
}
}
//单机球机页面点击
var timer = null; //定义一个变量存放定时器
function singleClick(t) {//
if (timer) { //取消上次延时未执行的方法
window.clearTimeout(timer);
timer = null;
}
timer = window.setTimeout(function () {
ballScreen(t);
}, 300);
}
//添加单机视频框样式
function ballScreen(t) {
$.each($('.ballsplit'), function (index, item) {
$($('.ballsplit')[index]).removeClass("selectedContent")
});
selectedScreen = "video" + t;
$("#ball" + t).addClass("selectedContent");
let result = playBallList.some((item => {
if (item.selectedScreen === "video" + t) {
console.log("item.puid===========" + item.puid);
console.log("item.state===========" + item.start);
return true;
}
}))
}
//双击球机页面
function doubleClick(t) {
if (timer) { //取消上次延时未执行的方法
window.clearTimeout(timer);
}
var div = document.getElementById("ball" + t);
if (status == 1) { //全屏
$("#video" + t).css("width", "100%");
$("#video" + t).css("height", "100%");
if (div.requestFullscreen) {
div.requestFullscreen();
} else if (div.msRequestFullscreen) {
div = document.body;
div.msRequestFullscreen();
} else if (div.mozRequestFullScreen) {
div.mozRequestFullScreen();
} else if (div.webkitRequestFullScreen) {
div.webkitRequestFullScreen();
}
status = 2;
} else if (status == 2) { //关闭全屏
if (numOfWindows == 1) {
$("#" + t).css("width", "97%");
$("#" + t).css("height", "98.6%");
$("#" + t).css("float", "left");
} else if (numOfWindows == 4) {
$("#" + t).css("width", "48.5%");
$("#" + t).css("height", "48.8%");
$("#" + t).css("float", "left");
} else {
$("#" + t).css("width", "32.2%");
$("#" + t).css("height", "32%");
$("#" + t).css("float", "left");
}
if (document.exitFullscreen) {
document.exitFullscreen();
} else if (document.msExitFullscreen) {
document.msExitFullscreen();
} else if (document.mozCancelFullScreen) {
document.mozCancelFullScreen();
} else if (document.webkitCancelFullScreen) {
document.webkitCancelFullScreen();
}
status = 1;
}
}
//判空
function isEmpty(str) {
if (str == undefined || str == null || str == "null" || str == "") {
return true;
} else {
return false;
}
}