Procházet zdrojové kódy

修复ios指令无效

wuyongxiang před 4 roky
rodič
revize
a36f99f77a

+ 45 - 51
screenAndroid/WXtrialInterface.html

@@ -52,23 +52,23 @@
 	<body class="scroll h-player" style="overscroll-behavior: contain;">
 
 		<div class="container" id="player">
+
 			<div class="muted" id="btnMuted">
 				<div class="control-right-img" data-id="1">
 					<img src="../static/img/xuanfu_icon.png">
 				</div>
 			</div>
 			<!-- <video width="70%" disablePictureInPicture="true" autoplay poster="images/loader-thumb.jpg" id="playerVideo"></video> -->
-			<div id="wine">
-				
-				<!-- <video id="video1" muted="muted" x5-video-orientation="landscape" playsinline="true" autoplay="true"
+			<!-- <div id="wine"> -->
+
+			<!-- <video id="video1" muted="muted" x5-video-orientation="landscape" playsinline="true" autoplay="true"
 				 webkit-playsinline="true" x5-playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="false" style="pointer-events: none;"></video> -->
-				<div id="box">
-                       <video muted="muted" x5-video-orientation="landscape" playsinline="true" autoplay="true" webkit-playsinline="true"
-                        x5-playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="false" style="pointer-events: none;object-fit: fill;width: 100%;"
-                        disablePictureInPicture="true" autoplay poster="images/loader-thumb.jpg" id="playerVideo"></video>
-					<audio preload="auto" autoplay controls poster="images/loader-thumb.jpg" id="audioPlayer"></audio>
-				</div>
-			</div>
+			<!-- <div id="box"> -->
+			<video style="pointer-events: none;object-fit: fill;width: 100%;" disablePictureInPicture="true" autoplay poster="images/loader-thumb.jpg"
+			 id="playerVideo"></video>
+			<audio preload="auto" autoplay controls poster="images/loader-thumb.jpg" id="audioPlayer"></audio>
+			<!-- </div> -->
+			<!-- </div> -->
 			<div class="leftmains">
 				<div class="PictureQualityMain">
 					<div class="PictureQuality " data-id="3072000">高清</div>
@@ -132,7 +132,8 @@
 			</div>
 
 		</div>
-
+		<body oncontextmenu="Back()">
+		</body>
 		<div id="copy-txt" style="position: absolute;opacity: 0;">
 			<span id="user_ref_id">www.androidsCloud.com</span>
 		</div>
@@ -140,7 +141,7 @@
 		<script type="text/javascript" src="https://res.wx.qq.com/open/js/jweixin-1.3.2.js"></script>
 		<script src="../static/js/jquery-1.11.0.min.js"></script>
 		<script src="helper.js"></script>
-		<!--  音频-->
+		<!--  音频
 		<!-- <script src="../static/js/classlist.js"></script>
 		<script src="../static/js/players.js"></script>
 		<script src="../static/js/auroraplayer.js"></script>
@@ -153,7 +154,7 @@
 		<!-- <script type="text/javascript" src="../static/js/Decoder.js"></script>
 		<script type="text/javascript" src="../static/js/YUVCanvas.js"></script>
 		<script type="text/javascript" src="../static/js/Player.js"></script> -->
-		<script type="text/javascript" src="jmuxer.js"></script>
+		<!-- <script type="text/javascript" src="jmuxer.js"></script> -->
 		<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
 		<!-- <script src="../static/distss/WXdraw.js?id=105"></script> -->
 
@@ -177,6 +178,9 @@
 			var curTime = new Date().getTime();
 			var requestTime = new Date().getTime(); //记录离开时间
 			var myVideo = document.getElementById("playerVideo");
+			$("#wine").click(function() {
+				console.log("9999999999")
+			});
 			var myAudio = document.getElementById("audioPlayer");
 			var audioBuffer = [];
 			var audioBack = [];
@@ -356,7 +360,7 @@
 
 				ws.addEventListener('open', function(event) {
 					console.log("发送配置帧");
-					ws.send(ConfigChannel("RK3923C1201900139"));
+					// ws.send(ConfigChannel("RK3923C1201900139"));
 				});
 
 				ws.addEventListener('error', function(event) {
@@ -420,55 +424,46 @@
 
 				});
 
-
-				myVideo.onmousedown = function(event) {
-					//放在此处只是为了方便演示,实际使用中查找横竖屏只要刚连接上时调用一次就好。	
-					//var checkBuffer = GetScreenState();
-					//ws.send(checkBuffer);
-
-					if (!isFeed) {
-						console.log("重新申请I帧");
-						requestTime = new Date().getTime();
-						var buffer = RequestIFrame();
-						//var buffer = new Uint8Array([0x01]);
-						ws.send(buffer);
-					}
-
-					//console.log("报文 %s", PrintArry(buffer));
-
-
+				var myPlay = document.getElementById("player");
+				myPlay.onmousedown = function(event) {
+					console.log('5555555555')
 					if (event.button == 0) {
-						var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
-						var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
+						var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+						var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
 						var buffer = ExexuteMouseDown(posX.toString(), posY.toString());
+						console.log('posX=======posY', posX, posY)
+						console.log('buffer=======', buffer)
 						ws.send(buffer);
+                        console.log('ws', ws)
 						isDrag = true;
 					}
 
 				}
 
-
-				myVideo.onmousemove = function(event) {
+				myPlay.onmousemove = function(event) {
+					console.log('5555555555', isDrag, event.button)
 					if (isDrag && event.button == 0) {
-						var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
-						var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
+						var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+						var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
 						var buffer = ExexuteMouseMove(posX.toString(), posY.toString());
 						ws.send(buffer);
-						//console.log("移动位置 %d, %d", posX, posY);
+						console.log("移动位置 %d, %d", posX, posY);
 					}
 
 				}
 
-				myVideo.onmouseup = function(event) {
+				myPlay.onmouseup = function(event) {
+					console.log('5555555555')
 					isDrag = false;
-					var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
-					var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
+					var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+					var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
 					var buffer = ExexuteMouseUp(posX.toString(), posY.toString());
 					ws.send(buffer);
 
 				}
 
-				myVideo.onkeydown = function(event) {
+				myPlay.onkeydown = function(event) {
+					console.log('5555555555')
 					ExexuteKeyDown(e.keyCode);
 				}
 
@@ -483,16 +478,15 @@
 				return false;
 			}
 
-
 			var topwinHeight = window.screen.height - window.innerHeight + 30; //计算title top 头部
-			$('#wine').css({
-				"width": window.screen.width,
-				"height": window.screen.height - topwinHeight - 20,
-				"position": "absolute",
+			// $('#wine').css({
+			// 	"width": window.screen.width,
+			// 	"height": window.screen.height - topwinHeight - 20,
+			// 	"position": "absolute",
 
-			})
-			var winese = document.createElement("wine");
-			wine.style.top = "-" + winese + 'px';
+			// })
+			// var winese = document.createElement("wine");
+			// wine.style.top = "-" + winese + 'px';
 
 			var url = window.location.href;
 			url = url.split('/')
@@ -890,7 +884,7 @@
 							// players.off('pause');
 							// players.pause();
 							// var embed = document.embedPlay;
-							console.log(players, "fdsfdsf")
+							// console.log(players, "fdsfdsf")
 						}
 					}
 				}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 12 - 90
screenAndroid/helper.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 185 - 0
screenAndroid/helper5555.js


+ 403 - 0
screenIos/WXdraw.js

@@ -0,0 +1,403 @@
+//画布
+var canvas;
+var context;
+//蒙版
+var canvas_bak = document.getElementById("box");;
+var context_bak;
+
+var canvasWidth = 720;
+var canvasHeight = 1280;
+
+var canvasTop;
+var canvasLeft;
+var winHeight = window.screen.height - window.innerHeight
+var vowidth = window.screen.width
+var topwinHeightDraw = window.screen.height - window.innerHeight + 30; //计算title top 头部
+var numse = window.screen.height //-winHeight
+
+//计算title top 头部
+if (numse <= 70) {
+
+	var voheight = window.screen.height - winHeight - 34 - 20
+} else {
+	console.log("numse>>>", numse)
+	var voheight = window.screen.height - topwinHeightDraw - 20
+}
+
+//console.log("画笔大小>>>",window.innerHeight)
+//画笔大小
+var size = 1;
+var color = '#000000';
+var resolving
+//alert(winHeight)
+var url = window.location.href;
+url = url.split('/')
+
+var query = window.location.search.substring(1);
+// debugger
+// query = "clientType=3&username=WqXTc1593762177&userCardId=377"
+// debugger
+var vars = query.split("&");
+var data = {}
+var clientType = vars.find(e => {
+	return e.startsWith('clientType')
+}) || ''
+var cardIp = vars.find(e => {
+	return e.startsWith('cardIp')
+}) || ''
+var port = vars.find(e => {
+	return e.startsWith('port')
+}) || ''
+
+var sn = vars.find(e => {
+	return e.startsWith('sn')
+}) || ''
+var username = vars.find(e => {
+	return e.startsWith('username')
+}) || ''
+var userCardId = vars.find(e => {
+	return e.startsWith('userCardId')
+}) || ''
+var ip = vars.find(e => {
+	return e.startsWith('ip')
+}) || ''
+
+var data = {}
+data.clientType = clientType.substring(11, clientType.length)
+
+data.cardIp = cardIp.substring(7, cardIp.length)
+
+data.port = port.substring(5, port.length)
+
+data.sn = sn.substring(3, sn.length)
+data.username = username.substring(9, username.length)
+data.userCardId = userCardId.substring(11, userCardId.length)
+data.ip = ip.substring(3, ip.length)
+// var urlss=url[2]
+// urlss = "14.215.128.96"
+urlss = '192.168.31.20'
+// urlss = 'test.androidscloud.com'
+// debugger
+var cUrl = ''
+// cUrl = "ws://192.168.11.66:9101";
+// var cUrl="wss://www.ted2018.com:9101"
+var cUrl = "ws://192.168.198.11: 9101"
+// if (data.clientType == 3) {
+// 	cUrl = "wss://" + urlss + "/authControlWebSocket?" + "clientType=" + data.clientType + "&username=" + data.username +
+// 		"&userCardId=" + data.userCardId
+// } else if (data.clientType == 2) {
+// 	// cUrl = "wss://" + urlss + "/shareWebSocket?" + "clientType=" + data.clientType + "&username=" + data.username +
+// 	// 	"&userCardId=" + data.userCardId + "&ip=" + data.ip
+// 	cUrl = "wss://test.androidscloud.com/videoWebSocket?clientType=1&cardIp=14.215.128.96&port=2005&sn=RK3930C2301900005";
+// } else {
+// 	cUrl = "wss://" + urlss + "/controlWebSocket?" + "clientType=" + data.clientType + "&cardIp=" + data.cardIp + "&port=" +
+// 		data.port + "&sn=" + data.sn
+// }
+console.log(cUrl, 'curl')
+// var cUrl = Number(data.clientType) === 3? "ws://"+urlss+"/authControlWebSocket?"+"clientType="+data.clientType+"&username="+data.username+"&userCardId="+data.userCardId : "ws://"+urlss+"/controlWebSocket?"+"clientType="+data.clientType+"&cardIp="+data.cardIp+"&port="+data.port+"&sn="+data.sn
+var wsss = new WebSocket(cUrl);
+console.log('wsssss==============', wsss)
+wsss.binaryType = 'arraybuffer';
+////
+// wsss = new WebSocket(
+// 	"ws://14.215.128.96/authControlWebSocket?clientType=3&username=WqXTc1593762177&userCardId=377");
+
+wsss.onopen = function() {
+	console.log("onopen==============");
+	var pings = {
+		"event": "getScreenStatus"
+	}
+	wsss.send(JSON.stringify(pings));
+	var bitRate = {
+		"data": {
+			"bitRate": 2243000
+		},
+		"event": "bitRate"
+	}
+	wsss.send(JSON.stringify(bitRate));
+};
+wsss.onmessage = function(event) {
+	console.log("onMessage==============", event);
+	var resets = JSON.parse(event.data)
+	var resets = event.data;
+	resets.errorMsg && alert(resets.errorMsg)
+	resolving = resets.data.orientation
+	if (resolving == 1) {} else {}
+	console.log('>>>resolvingresolvingresolving', resolving)
+
+};
+wsss.onclose = function(event) {
+	console.log("onclose==============");
+};
+wsss.onerror = function(event) {
+	console.log("onerror==============");
+};
+$('#box').on("click", function() {
+
+	draw_graph('pencil', this)
+})
+//剪切板
+$(".upload").on("click", function() {
+	let texts = $(this).attr("data-text")
+	if (texts == "uploads") {
+		$(".mainbox").css({
+			"display": "block"
+		})
+		$(".sbox").css({
+			"display": "none"
+		})
+	} else if (texts == "Signout") {
+		//		alert()
+
+	}
+})
+
+//home 控制home
+$(".botmat1img").on("click", function() {
+	let codes = $(this).attr("data-text")
+	console.log(codes)
+	if (codes == "home") {
+		var bitRate = {
+			"data": {
+				"keyCode": "3"
+			},
+			"event": "keyCode"
+		}
+		wsss.send(JSON.stringify(bitRate));
+	} else if (codes == "return") {
+		var bitRate = {
+			"data": {
+				"keyCode": "4"
+			},
+			"event": "keyCode"
+		}
+		wsss.send(JSON.stringify(bitRate));
+	} else if (codes == "gengduo") {
+		var bitRate = {
+			"data": {
+				"keyCode": "187"
+			},
+			"event": "keyCode"
+		}
+		wsss.send(JSON.stringify(bitRate));
+	}
+
+})
+//高清控制
+$(".PictureQuality").on("click", function() {
+	$(this).addClass("avit").siblings().removeClass('avit')
+	let id = $(this).attr("data-id")
+	var bitRate = {
+		"data": {
+			"bitRate": id
+		},
+		"event": "bitRate"
+	}
+	wsss.send(JSON.stringify(bitRate));
+	console.log(id)
+})
+
+//画图形
+var draw_graph = function(graphType, obj) {
+	console.log('111》》》', graphType)
+	//把蒙版放于画板上面
+	//$("#canvas_bak").css("z-index",1);
+	$("#container").css("z-index", 30);
+	$("#dedit").css("z-index", 20);
+	//先画在蒙版上 再复制到画布上
+
+	chooseImg(obj);
+	var canDraw = false;
+
+	var startX;
+	var startY;
+
+	//鼠标按下获取 开始xy开始画图
+	var touchstart = function(e) {
+		$('.control-right-img').attr({
+			"data-id": "2"
+		})
+		$(".leftmains").css({
+			"right": "-4rem"
+		})
+		//		.toFixed(2)
+		var touchfor = e.originalEvent.targetTouches; //for 的手指数组
+		var touch = e.originalEvent.targetTouches[0];
+		var thochlethng = e.originalEvent.targetTouches.length
+		//是否横屏
+		if (resolving == 0) {
+			let ping
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageY * (1280 / voheight)
+				let caheightYs = 720 - touchfor[i].pageX * (720 / vowidth)
+				ping = {
+					"data": {
+						"action": 0,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "0"
+				}
+			}
+			wsss.send(JSON.stringify(ping));
+			console.log("鼠标按下>>>", ping)
+		} else {
+			let ping
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageX * (720 / vowidth)
+				let caheightYs = touchfor[i].pageY * (1280 / voheight)
+				ping = {
+					"data": {
+						"action": 0,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "0"
+				}
+
+			}
+			wsss.send(JSON.stringify(ping));
+			console.log("鼠标按下>>>", ping)
+		}
+
+		canDraw = true;
+
+	};
+
+	//鼠标离开 把蒙版canvas的图片生成到canvas中
+	var touchend = function(e) {
+		var touchfor = e.originalEvent.changedTouches; //for 的手指数组
+		var touch = e.originalEvent.changedTouches[0];
+		var thochlethng = e.originalEvent.changedTouches.length
+		//	 alert(thochlethng)
+		//是否横屏 morePortionUp
+		if (resolving == 0) {
+			let ping
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageY * (1280 / voheight)
+				let caheightYs = 720 - touchfor[i].pageX * (720 / vowidth)
+				ping = {
+					"data": {
+						"action": 1,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "1"
+				}
+			}
+
+			wsss.send(JSON.stringify(ping));
+
+		} else {
+			let ping
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageX * (720 / vowidth)
+				let caheightYs = touchfor[i].pageY * (1280 / voheight)
+				ping = {
+					"data": {
+						"action": 1,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "1"
+				}
+			}
+
+			wsss.send(JSON.stringify(ping));
+		}
+
+		canDraw = false;
+
+	};
+
+	//清空层 云手机超出屏幕的开关
+	var clearContext = function(type) {
+		canDraw = false;
+	}
+
+	// 鼠标移动
+	var touchmove = function(e) {
+
+		e = e || window.event;
+		var touchfor = e.originalEvent.targetTouches; //for 的手指数组
+		var touch = e.originalEvent.targetTouches[0];
+		var thochlethng = e.originalEvent.targetTouches.length
+		let ping
+		//是否横屏  morePortionMove
+		if (resolving == 0) {
+			let obj = []
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageY * (1280 / voheight)
+				let caheightYs = 720 - touchfor[i].pageX * (720 / vowidth)
+
+				ping = {
+					"data": {
+						"action": 2,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "2"
+				}
+
+			}
+
+			wsss.send(JSON.stringify(ping));
+		} else {
+			let ping
+			for (let i = 0; i < touchfor.length; i++) {
+				let cawidthXs = touchfor[i].pageX * (720 / vowidth)
+				let caheightYs = touchfor[i].pageY * (1280 / voheight)
+				ping = {
+					"data": {
+						"action": 2,
+						"count": touchfor.length,
+						"pointerId": i,
+						"x": cawidthXs.toFixed(2),
+						"y": caheightYs.toFixed(2)
+					},
+					"event": "2"
+				}
+
+			}
+
+			wsss.send(JSON.stringify(ping));
+		}
+
+
+
+		//				var ping = {"data":{"action":2,"count":1,"pointerId":0,"x":cawidthX.toFixed(2),"y":caheightY.toFixed(2)},"event":"2"}	    
+
+
+
+	};
+
+	//鼠标离开区域以外 除了涂鸦 都清空
+	var mouseout = function() {
+
+		if (graphType != 'handwriting') {
+			clearContext();
+
+		}
+	}
+
+	$(canvas_bak).unbind();
+	$(canvas_bak).bind('touchstart', touchstart);
+	$(canvas_bak).bind('touchmove', touchmove);
+	$(canvas_bak).bind('touchend', touchend);
+	$(canvas_bak).bind('mouseout', mouseout);
+}
+
+//选择功能按钮 修改样式
+function chooseImg(obj) {
+
+}

+ 78 - 33
screenIos/WXtrialInterface.html

@@ -58,10 +58,12 @@
 			</div>
 
 			<div id="wine">
-				<canvas id="playCanvas" width="450" height="800"></canvas>
+
 				<!-- <video id="video1" muted="muted" x5-video-orientation="landscape" playsinline="true" autoplay="true"
 				 webkit-playsinline="true" x5-playsinline="true" x5-video-player-type="h5" x5-video-player-fullscreen="false" style="pointer-events: none;"></video> -->
-				<div id="box"></div>
+				<div>
+					<canvas id="playCanvas" width="450" height="800"></canvas>
+				</div>
 			</div>
 			<div class="leftmains">
 				<div class="PictureQualityMain">
@@ -151,7 +153,7 @@
 		<script type="text/javascript" src="../static/js/YUVCanvas.js"></script>
 		<script type="text/javascript" src="../static/js/Player.js"></script> -->
 		<script src="https://cdn.bootcss.com/vConsole/3.2.0/vconsole.min.js"></script>
-		<script src="../static/distss/WXdraw.js?id=105"></script>
+		<!-- <script src="../static/distss/WXdraw.js?id=105"></script> -->
 
 		<script>
 			var topwinHeight = window.screen.height - window.innerHeight + 30; //计算title top 头部
@@ -402,7 +404,7 @@
 
 			})
 
-			console.log(player)
+			// console.log(player)
 			$('#mocan').on('click', function() {
 				draw_graph('pencil', this)
 			})
@@ -539,7 +541,7 @@
 							//							$('.control-right-img').find('img').attr({
 							//								"src": "../static/img/musicturn.png"
 							//							})
-							players.volume = 100
+							// players.volume = 100
 							$(".leftmains").css({
 								"right": "-4rem"
 							})
@@ -557,7 +559,7 @@
 							//							$('.control-right-img').find('img').attr({
 							//								"src": "../static/img/musicfalse.png"
 							//							})
-							players.volume = 0
+							// players.volume = 0
 							// players.off('pause');
 							// players.pause();
 							// var embed = document.embedPlay;
@@ -652,12 +654,12 @@
 			var decodeWoker = new Worker('decoder.js');
 			var myVideo = document.getElementById("playCanvas");
 			decodeWoker.onmessage = function(event) {
-				console.log("decodeWoker.onmessage")
+				// console.log("decodeWoker.onmessage")
 				var objData = event.data;
 
 				switch (objData.cmd) {
 					case 0:
-						console.log(objData.data);
+						// console.log(objData.data);
 						break;
 					case 1:
 						var time = new Date().getTime();
@@ -675,8 +677,8 @@
 			}
 
 			var isFinish = false;
-			this.canvas = document.getElementById("playCanvas");
-			var webglPlayer = new WebGLPlayer(this.canvas, {
+			// this.canvas = document.getElementById("playCanvas");
+			var webglPlayer = new WebGLPlayer(myVideo, {
 				preserveDrawingBuffer: false
 			});
 
@@ -687,8 +689,9 @@
 
 
 			webSocketWorker.onmessage = function(event) {
-				console.log("event.data", event.data)
+				// console.log("event.data", event.data)
 				decodeWoker.postMessage(event.data);
+				// decodeWoker.postMessage(wsSendfun())
 			}
 
 			document.addEventListener("visibilitychange", () => {
@@ -709,35 +712,77 @@
 				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));
-
+			// 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 isDrag = false;
+			myVideo.onmousedown = function(event) {
+				console.log('5555555555')
 				if (event.button == 0) {
-					var posX = event.offsetX * 1080 * 1.0 / myVideo.clientWidth;
-					var posY = event.offsetY * 1920 * 1.0 / myVideo.clientHeight;
+					var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+					var posY = event.offsetY * 1280 * 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);
+					console.log('55555', buffer)
+					webSocketWorker.postMessage(buffer);
 					isDrag = true;
 				}
 
 			}
+
+			myVideo.onmousemove = function(event) {
+				if (isDrag && event.button == 0) {
+					var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+					var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
+					var buffer = ExexuteMouseMove(posX.toString(), posY.toString());
+					// ws.send(buffer);
+					console.log('55555', buffer)
+					webSocketWorker.postMessage(buffer);
+					console.log("移动位置 %d, %d", posX, posY);
+				}
+
+			}
+
+			myVideo.onmouseup = function(event) {
+				console.log('5555555555')
+				isDrag = false;
+				var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+				var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
+				var buffer = ExexuteMouseUp(posX.toString(), posY.toString());
+				// ws.send(buffer);
+				decodeWoker.postMessage(buffer);
+
+			}
+
+			myVideo.onkeydown = function(event) {
+				console.log('5555555555')
+				ExexuteKeyDown(e.keyCode);
+			}
 		</script>
 
 	</body>

+ 309 - 0
screenIos/draw.js

@@ -0,0 +1,309 @@
+//画布
+var canvas;
+var context;
+//蒙版
+var canvas_bak;
+var context_bak;
+
+var canvasWidth = 720;
+var canvasHeight = 1280;
+
+var canvasTop;
+var canvasLeft;
+
+//画笔大小
+var size = 1;
+var color = '#000000';
+var resolving
+
+
+
+
+                       var url = window.location.href;
+                       url = url.split('/')
+                       var baseUrl =url[2]
+			           var query = window.location.search.substring(1);
+			          var vars = query.split("&");
+			          var data = {}
+			var clientType = vars.find(e => {
+                return e.startsWith('clientType')
+            })|| ''
+			var cardIp = vars.find(e => {
+                return e.startsWith('cardIp')
+            }) || ''
+			var port = vars.find(e => {
+                return e.startsWith('port')
+            })|| ''
+			
+			var sn = vars.find(e => {
+                return e.startsWith('sn')
+            })|| ''
+			var username = vars.find(e => {
+				return e.startsWith('username')
+			})|| ''
+			var userCardId = vars.find(e => {
+				return e.startsWith('userCardId')
+			})|| ''
+			 var data = {}         
+              data.clientType=clientType.substring(11, clientType.length)
+              
+              data.cardIp=cardIp.substring(7, cardIp.length)
+              
+              data.port=port.substring(5, port.length)
+              data.sn=sn.substring(3, sn.length)
+			  
+			  data.username =username.substring(9, username.length)
+			  data.userCardId =userCardId.substring(11, userCardId.length)
+              // var urlss= url[2]  //'14.215.128.96'
+			  var urlss = 'test.androidscloud.com'
+			  var cUrl = data.clientType === 3? "ws://"+urlss+"/authControlWebSocket?"+"clientType="+data.clientType+"&username="+data.username+"&userCardId="+data.userCardId : "ws://"+urlss+"/controlWebSocket?"+"clientType="+data.clientType+"&cardIp="+data.cardIp+"&port="+data.port+"&sn="+data.sn
+			  // var cUrl = "ws://14.215.128.96//controlWebSocket?clientType=1&sn=RK3930C2301900045&cardIp=14.215.128.96&port=2045"
+var wsss = new WebSocket(cUrl);
+
+
+
+//var wsss = new WebSocket("ws://14.215.128.96/controlWebSocket?clientType=0&cardIp=30.30.30.58&port=9100&sn=RK3930C2301900060");
+
+wsss.onopen = function() {
+	var pings = {
+		"event": "getScreenStatus"
+	}
+	wsss.send(JSON.stringify(pings));
+   var bitRate ={"data":{"bitRate":1000},"event":"bitRate"}
+     wsss.send(JSON.stringify(bitRate));
+};
+
+wsss.onmessage = function(event) {
+	var resets = JSON.parse(event.data)
+
+	resolving = resets.data.orientation
+	console.log('>>>resolvingresolvingresolving', resolving)
+	
+	
+	
+         
+			
+	
+	
+	if(resolving == 1) {
+
+		canvas_bak = document.getElementsByTagName("canvas");
+
+	} else {
+		canvas_bak = document.getElementsByClassName("mocan");
+	}
+	
+	
+	
+
+	if(resolving == 1) {
+
+		$('#mocan').removeClass('mocan')
+		$('#mainScreen-main').addClass('mainScreen-main')
+		$('.mainScreen-main').on('click', function() {
+			 
+				//		    	console.log(this)
+				draw_graph('pencil', this)
+
+			
+
+			})
+		$('canvas').css({
+			"display": "block",
+			"width": "100%",
+			"height": "100%",
+			"position": "absolute",
+			"top": "0px",
+			"left": "0px",
+			"z-index": "999",
+			"transform": "rotate(0deg)"
+		})
+		$('#mainScreen-main').css({"display": "block"})
+	} else {
+//      $("#mainScreen-main").
+$('#mainScreen-main').removeClass('mainScreen-main')
+$('#mocan').addClass('mocan')
+
+
+
+
+$('.mocan').on('click', function() {
+			 
+				//		    	console.log(this)
+				draw_graph('pencil', this)
+
+			
+
+			})
+
+
+
+
+
+
+		$('canvas').css({
+			"display": "block",
+			"width": "153%",
+			"height": "162%",
+			"position": "absolute",
+			"top": "-171px",
+			"left": "-94px",
+			"z-index": "0",
+			"transform": "rotate(-90deg)"
+		})
+		$('#mainScreen-main').css({"display": "block"})
+		$('#no-ne').css({
+			"width": "901px",
+			"height": "555px",
+			"position": "absolute",
+			"top": "0",
+			"left": "-269px",
+			"background": "#000000",
+			"z-index": "99999",
+			"font-size": "18px",
+			"color": "#FFFFFF",
+			"text-align": "center",
+			
+		})
+		$('.no-ne-text').css({
+			"margin-top": "24%",
+		})
+	}
+	
+
+	//			context_bak = canvas_bak.getContext('2d');		
+	$(canvas_bak).css("z-index", 999);
+};
+
+
+
+wsss.onclose = function(event) {
+
+};
+wsss.onerror = function(event) {
+
+};
+
+//画图形
+var draw_graph = function(graphType, obj) {
+
+	//把蒙版放于画板上面
+	//$("#canvas_bak").css("z-index",1);
+	$("#container").css("z-index", 30);
+	$("#dedit").css("z-index", 20);
+	//先画在蒙版上 再复制到画布上
+
+	chooseImg(obj);
+	var canDraw = false;
+
+	var startX;
+	var startY;
+
+	//鼠标按下获取 开始xy开始画图
+	var mousedown = function(e) {
+		
+		
+			var pingssfe = {
+		      "event": "getScreenStatus"
+	        }
+			wsss.send(JSON.stringify(pingssfe));
+		
+		// 
+		//横屏
+		if(resolving == 1) {
+			var ping = {"data":{"action":0,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"0"}
+			 console.log("黄飞111》》》")
+			
+		} else if(resolving == 0) {
+			var ping ={"data":{"action":0,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"0"}
+	
+		 console.log("黄飞222》》》")
+		
+		}
+  
+		wsss.send(JSON.stringify(ping));
+
+  
+		e = e || window.event;
+		/*startX = e.clientX - canvasLeft;
+		startY = e.clientY - canvasTop;*/
+		//	    console.log('鼠标按下获取:x',e.clientX-canvasLeft,'y:',e.clientY - canvasTop)
+		
+		canDraw = true;
+
+	};
+
+	//鼠标离开 把蒙版canvas的图片生成到canvas中
+	var mouseup = function(e) {
+
+		e = e || window.event;
+		//		startX = e.clientX - canvasLeft;11111
+		//		startY = e.clientY - canvasTop;
+		//		console.log('鼠标离开>>>',e.clientX - canvasLeft)
+		if(resolving == 1) {
+			var ping = {"data":{"action":1,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"1"}
+		} else if(resolving == 0) {
+			var ping = {"data":{"action":1,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"1"}
+		}
+
+		wsss.send(JSON.stringify(ping));
+		// var seets = {"event":"getScreenStatus"}
+		//   wsss.send(JSON.stringify(seets));
+		canDraw = false;
+
+	};
+
+	//清空层 云手机超出屏幕的开关
+	var clearContext = function(type) {
+		canDraw = false;
+	}
+
+	// 鼠标移动
+	var mousemove = function(e) {
+		//		console.log('鼠标移动7>>>','X:',e.clientX,'Y:',e.clientY)
+		e = e || window.event;
+
+		//方块  4条直线搞定
+		if(graphType == 'square') {
+			if(canDraw) {}
+			//直线
+		} else if(graphType == 'line') {} else if(graphType == 'pencil') {
+			if(canDraw) {
+
+				//				context_bak.lineTo(e.clientX   - canvasLeft ,e.clientY  - canvasTop);
+				//				context_bak.stroke();	
+				if(resolving == 1) {
+					var ping = {"data":{"action":2,"count":1,"pointerId":0,"x":e.offsetX * 2,"y":e.offsetY * 2.3},"event":"2"}
+				} else if(resolving == 0) {
+					var ping = {"data":{"action":2,"count":1,"pointerId":0,"x":e.offsetX * 1.422,"y":e.offsetY * 1.3},"event":"2"}
+				}
+				wsss.send(JSON.stringify(ping));
+			}
+			//圆 未画得时候 出现一个小圆
+		} else if(graphType == 'circle') {} else if(graphType == 'handwriting') {
+			var hwSize = 1;
+			if(canDraw) {} else {}
+			//橡皮擦 不管有没有在画都出现小方块 按下鼠标 开始清空区域
+		} else if(graphType == 'rubber') {}
+	};
+
+	//鼠标离开区域以外 除了涂鸦 都清空
+	var mouseout = function() {
+
+		if(graphType != 'handwriting') {
+			clearContext();
+
+		}
+	}
+
+	$(canvas_bak).unbind();
+	$(canvas_bak).bind('mousedown', mousedown);
+	$(canvas_bak).bind('mousemove', mousemove);
+	$(canvas_bak).bind('mouseup', mouseup);
+	$(canvas_bak).bind('mouseout', mouseout);
+}
+
+//选择功能按钮 修改样式
+function chooseImg(obj) {
+
+}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 15 - 90
screenIos/helper.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 185 - 0
screenIos/helper55.js


+ 44 - 69
screenIos/homeNew.html

@@ -186,7 +186,7 @@
 			var clientWidth = html.getBoundingClientRect().width;
 			var clientheight = window.innerHeight;
 			html.style.fontSize = clientWidth / 23.4375 + "px";
-			const ch = 14 / (clientheight / clientWidth)	
+			const ch = 14 / (clientheight / clientWidth)
 			$('.swiper-slide').css("padding", `14% ${ch}%`)
 			// var player = new PCMPlayer({
 			// 	encoding: '16bitInt',
@@ -307,7 +307,7 @@
 				methods: {
 					homeinfo(data) {
 						wx.miniProgram.navigateTo({
-							url: '/pages/trialInterface/trialInterface?record='  + data.id,
+							url: '/pages/trialInterface/trialInterface?record=' + data.id,
 						})
 					},
 					renew(data) {
@@ -427,7 +427,7 @@
 						console.log("首页=====", id);
 						// var secanv = document.getElementById(id);
 						decodeWoker.onmessage = function(event) {
-							console.log("decodeWoker.onmessage")
+							// console.log("decodeWoker.onmessage")
 							var objData = event.data;
 
 							switch (objData.cmd) {
@@ -668,7 +668,7 @@
 										console.log("首页=====", id);
 										// var secanv = document.getElementById(id);
 										decodeWoker.onmessage = function(event) {
-											console.log("decodeWoker.onmessage")
+											// console.log("decodeWoker.onmessage")
 											var objData = event.data;
 
 											switch (objData.cmd) {
@@ -724,80 +724,55 @@
 											webSocketWorker.postMessage(cmd);
 											webSocketWorker.terminate();
 										}
+										// 								myVideo.onmousedown = function(event) {
+										// 									console.log("22222")
+
+										// 									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;
+										// 									}
+										// 								}
 										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 posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+												var posY = event.offsetY * 1280 * 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,
-										// 		height: 1024
-										// 	}
-										// });
-										// var id = 'wine' + activeIndex;
-										// console.log("首页=====", id);
-										// var secanv = document.getElementById(id);
-										// secanv.appendChild(player.canvas);
-										// console.log("首页=====", secanv);
-
-										// var strhost = "wss://" + urlss + "/videoWebSocket?clientType=1&cardIp=" +
-										// 	that.urlData.exIp +
-										// 	"&port=" + that.urlData.exPort + "&sn=" + that.urlData.sn;
-										// var strhost = "ws://192.168.11.66:9101";
-										// var strhost="wss://192.168.11.242:9104";
-										// var strhost="wss://www.ted2018.com:9101";
-										// var strhost = "wss://test.androidscloud.com:9105";
-										// var strhost="wss://test.androidscloud.com/videoWebSocket?clientType=1&cardIp=14.215.128.96&port=2005&sn=RK3930C2301900005";
-										// var strhost="ws://192.168.11.242:9101";
-										// var strhost="ws://"+that.urlData.exIp+":"+that.urlData.exPort
-										// var client = new WebSocket(strhost.replace("wss","ws"));
-										// var client = new WebSocket(strhost);
-										// console.log('wsssss==============', client)
-
-										// client.binaryType = 'arraybuffer';
-										// // debugger
-										// client.onopen = function(evt) {
-										// 	// onOpen(evt) 
-										// 	console.log("开始链接==============", evt);
-										// };
-										// client.onclose = function(evt) {
-										// 	// onClose(evt) 
-										// };
-										// client.onmessage = function(evt) {
-										// 	// onMessage(evt)
-										// 	// console.log("onMessage==============", evt);
-										// 	var messageData = new Uint8Array(evt.data);
-
-										// 	player.decode(messageData);
-										// };
-										// client.onerror = function(evt) {
-										// 	// onError(evt) 
-										// };
 
+										myVideo.onmousemove = function(event) {
+											if (isDrag && event.button == 0) {
+												var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+												var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
+												var buffer = ExexuteMouseMove(posX.toString(), posY.toString());
+												ws.send(buffer);
+												console.log("移动位置 %d, %d", posX, posY);
+											}
+
+										}
+
+										myVideo.onmouseup = function(event) {
+											isDrag = false;
+											var posX = event.offsetX * 720 * 1.0 / myVideo.clientWidth;
+											var posY = event.offsetY * 1280 * 1.0 / myVideo.clientHeight;
+											var buffer = ExexuteMouseUp(posX.toString(), posY.toString());
+											ws.send(buffer);
+
+										}
+
+										myVideo.onkeydown = function(event) {
+											ExexuteKeyDown(e.keyCode);
+										}
 									}, 1)
 
 								} else {

binární
screenIos/screenIos.rar


+ 8 - 4
screenIos/websocket.js

@@ -1,4 +1,4 @@
-self.importScripts("helper.js");  
+self.importScripts("helper.js");
 // self.importScripts("pcm-player.js");
 // self.importScripts("pcm-player.min.js");   
 var socketURL = "ws://192.168.198.11:9101";
@@ -12,16 +12,20 @@ ws.binaryType = 'arraybuffer';
 
 ws.addEventListener('open', function(event) {
 	console.log("发送配置帧");
-	ws.send(ConfigChannel("RK3923C1201900139"));
+	// ws.send(ConfigChannel("RK3923C1201900139"));
 });
 
-
+self.addEventListener('message', function(e) {
+	console.log("收到数据", e.data);
+	ws.send(e.data);
+	console.log('ws', ws)
+}, false);
 ws.addEventListener('message', function(event) {
 	//var objData = {type:0, data:input};
 	var input = new Uint8Array(event.data);
 
 	if (input[0] == 0xff) {
-		console.log("1111111")
+		// console.log("1111111")
 		// decodeAAC(input);
 
 	} else {

+ 8 - 8
static/distss/WXdraw.js

@@ -81,7 +81,7 @@ urlss = '192.168.31.20'
 var cUrl = ''
 // cUrl = "ws://192.168.11.66:9101";
 // var cUrl="wss://www.ted2018.com:9101"
-var cUrl = "wss://test.androidscloud.com:9105"
+var cUrl = "ws://192.168.198.11:9101"
 // if (data.clientType == 3) {
 // 	cUrl = "wss://" + urlss + "/authControlWebSocket?" + "clientType=" + data.clientType + "&username=" + data.username +
 // 		"&userCardId=" + data.userCardId
@@ -117,13 +117,13 @@ wsss.onopen = function() {
 	wsss.send(JSON.stringify(bitRate));
 };
 wsss.onmessage = function(event) {
-	console.log("onMessage==============", event);
-	var resets = JSON.parse(event.data)
-	var resets = event.data;
-	resets.errorMsg && alert(resets.errorMsg)
-	resolving = resets.data.orientation
-	if (resolving == 1) {} else {}
-	console.log('>>>resolvingresolvingresolving', resolving)
+	// console.log("onMessage==============", event);
+	// var resets = JSON.parse(event.data)
+	// var resets = event.data;
+	// resets.errorMsg && alert(resets.errorMsg)
+	// resolving = resets.data.orientation
+	// if (resolving == 1) {} else {}
+	// console.log('>>>resolvingresolvingresolving', resolving)
 
 };
 wsss.onclose = function(event) {