|
@@ -371,7 +371,7 @@
|
|
|
//
|
|
|
}
|
|
|
})
|
|
|
-
|
|
|
+
|
|
|
var decodeWoker = new Worker('decoder.js');
|
|
|
var id = 'playCanvas' + activeIndex;
|
|
|
var myVideo = document.getElementById(id);
|
|
@@ -380,7 +380,7 @@
|
|
|
decodeWoker.onmessage = function(event) {
|
|
|
console.log("decodeWoker.onmessage")
|
|
|
var objData = event.data;
|
|
|
-
|
|
|
+
|
|
|
switch (objData.cmd) {
|
|
|
case 0:
|
|
|
console.log(objData.data);
|
|
@@ -390,40 +390,40 @@
|
|
|
webglPlayer.renderFrame(objData.data, 720, 1280, 720 * 1280, (720 / 2) * (1280 / 2));
|
|
|
//console.log("渲染耗时", new Date().getTime() - time + "ms");break;
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
if (typeof(Worker) !== "undefined") {
|
|
|
console.log("支持webworker");
|
|
|
} else {
|
|
|
alert("不支持webworker");
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
var isFinish = false;
|
|
|
this.canvas = document.getElementById(id);
|
|
|
var webglPlayer = new WebGLPlayer(this.canvas, {
|
|
|
preserveDrawingBuffer: false
|
|
|
});
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
var webSocketWorker = new Worker('websocket.js');
|
|
|
var startTime = new Date().getTime();
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
webSocketWorker.onmessage = function(event) {
|
|
|
// console.log("event.data", event.data)
|
|
|
decodeWoker.postMessage(event.data);
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
document.addEventListener("visibilitychange", () => {
|
|
|
if (document.visibilityState == "visible") {
|
|
|
-
|
|
|
+
|
|
|
} else {
|
|
|
console.log("页面不可见");
|
|
|
}
|
|
|
});
|
|
|
-
|
|
|
+
|
|
|
function Close() //webworker 关闭,清理
|
|
|
{
|
|
|
var cmd = {
|
|
@@ -439,7 +439,7 @@
|
|
|
//放在此处只是为了方便演示,实际使用中查找横竖屏只要刚连接上时调用一次就好。
|
|
|
//var checkBuffer = GetScreenState();
|
|
|
//ws.send(checkBuffer);
|
|
|
-
|
|
|
+
|
|
|
/*if(!isFeed)
|
|
|
{
|
|
|
console.log("重新申请I帧");
|
|
@@ -447,10 +447,10 @@
|
|
|
var buffer = RequestIFrame();
|
|
|
ws.send(buffer);
|
|
|
}*/
|
|
|
-
|
|
|
+
|
|
|
//console.log("报文 %s", PrintArry(buffer));
|
|
|
-
|
|
|
-
|
|
|
+
|
|
|
+
|
|
|
if (event.button == 0) {
|
|
|
var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
|
|
|
var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
|
|
@@ -613,7 +613,96 @@
|
|
|
}
|
|
|
})
|
|
|
console.log("that.urlDatathat.urlDatathat.urlDatathat.urlData", that.urlData);
|
|
|
-
|
|
|
+ var decodeWoker = new Worker('decoder.js');
|
|
|
+ var id = 'playCanvas' + activeIndex;
|
|
|
+ var myVideo = document.getElementById(id);
|
|
|
+ console.log("首页=====", id);
|
|
|
+ // var secanv = document.getElementById(id);
|
|
|
+ decodeWoker.onmessage = function(event) {
|
|
|
+ console.log("decodeWoker.onmessage")
|
|
|
+ var objData = event.data;
|
|
|
+
|
|
|
+ switch (objData.cmd) {
|
|
|
+ case 0:
|
|
|
+ console.log(objData.data);
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ var time = new Date().getTime();
|
|
|
+ webglPlayer.renderFrame(objData.data, 720, 1280, 720 * 1280, (720 / 2) * (1280 / 2));
|
|
|
+ //console.log("渲染耗时", new Date().getTime() - time + "ms");break;
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if (typeof(Worker) !== "undefined") {
|
|
|
+ console.log("支持webworker");
|
|
|
+ } else {
|
|
|
+ alert("不支持webworker");
|
|
|
+ }
|
|
|
+
|
|
|
+ var isFinish = false;
|
|
|
+ this.canvas = document.getElementById(id);
|
|
|
+ var webglPlayer = new WebGLPlayer(this.canvas, {
|
|
|
+ preserveDrawingBuffer: false
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ var webSocketWorker = new Worker('websocket.js');
|
|
|
+ var startTime = new Date().getTime();
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ webSocketWorker.onmessage = function(event) {
|
|
|
+ // console.log("event.data", event.data)
|
|
|
+ decodeWoker.postMessage(event.data);
|
|
|
+ }
|
|
|
+
|
|
|
+ document.addEventListener("visibilitychange", () => {
|
|
|
+ if (document.visibilityState == "visible") {
|
|
|
+
|
|
|
+ } else {
|
|
|
+ console.log("页面不可见");
|
|
|
+ }
|
|
|
+ });
|
|
|
+
|
|
|
+ function Close() //webworker 关闭,清理
|
|
|
+ {
|
|
|
+ var cmd = {
|
|
|
+ cmd: 0
|
|
|
+ };
|
|
|
+ decodeWoker.postMessage(cmd);
|
|
|
+ decodeWoker.terminate();
|
|
|
+ webSocketWorker.postMessage(cmd);
|
|
|
+ webSocketWorker.terminate();
|
|
|
+ }
|
|
|
+ myVideo.onmousedown = function(event) {
|
|
|
+ console.log("22222")
|
|
|
+ //放在此处只是为了方便演示,实际使用中查找横竖屏只要刚连接上时调用一次就好。
|
|
|
+ //var checkBuffer = GetScreenState();
|
|
|
+ //ws.send(checkBuffer);
|
|
|
+
|
|
|
+ /*if(!isFeed)
|
|
|
+ {
|
|
|
+ console.log("重新申请I帧");
|
|
|
+ requestTime = new Date().getTime();
|
|
|
+ var buffer = RequestIFrame();
|
|
|
+ ws.send(buffer);
|
|
|
+ }*/
|
|
|
+
|
|
|
+ //console.log("报文 %s", PrintArry(buffer));
|
|
|
+
|
|
|
+
|
|
|
+ if (event.button == 0) {
|
|
|
+ var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
|
|
|
+ var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
|
|
|
+ var buffer = ExexuteMouseDown(posX.toString(), posY.toString());
|
|
|
+ // ws.send(buffer);
|
|
|
+ // decodeWoker.postMessage(event.data);
|
|
|
+ // console.log("打印buffer", PrintArry(buffer))
|
|
|
+ decodeWoker.postMessage(buffer);
|
|
|
+ isDrag = true;
|
|
|
+ }
|
|
|
+ }
|
|
|
// var player = new Player({
|
|
|
// size: {
|
|
|
// width: 768,
|