Parcourir la source

初始化推流方法

wuyongxiang il y a 4 ans
Parent
commit
e25ef37859
1 fichiers modifiés avec 107 ajouts et 18 suppressions
  1. 107 18
      screenIos/homeNew.html

+ 107 - 18
screenIos/homeNew.html

@@ -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,