huangxiaojing 4 年之前
父节点
当前提交
77d06fc2e4
共有 1 个文件被更改,包括 72 次插入0 次删除
  1. 72 0
      screenAndroid/WXtrialInterface.html

+ 72 - 0
screenAndroid/WXtrialInterface.html

@@ -408,6 +408,7 @@
 				alert("websocket连接断开");
 				console.log('websocket 断开: ' + e.code + ' ' + e.reason + ' ' + e.wasClean);
 				console.log(e);
+				getMessage()
 			}
 
 			ws.addEventListener('open', function (event) {
@@ -419,6 +420,76 @@
 				console.log("连接失败");
 			});
 
+			function getMessage() {
+				ws.addEventListener('message', function (event) {
+					var data = ParseProto(event.data); //JAVA服务器转发
+					//console.log("收到数据");
+
+					var audioData = {
+						audio: data.audio,
+						video: null,
+						duration: data.duration
+					};
+
+					var videoData = {
+						audio: null,
+						video: data.video,
+						duration: data.duration
+					};
+					var input = new Uint8Array(event.data);
+					// console.log("音频数据", input, input[0] == 0xff); 
+					if (input[0] == 0xff) {
+						if (isFinish) {
+							var time = new Date().getTime();
+							decodeAAC(input);
+						}
+
+					} else { }
+					if (myAudio.readyState == 2) {
+						requestTime = new Date().getTime();
+						isEnough = false;
+						console.log("数据存储不够,出现声音停止,时间差 %f", myAudio.buffered.end(0));
+						myAudio.pause();
+						//myAudio.playbackRate = 2;
+					} else if (myAudio.readyState == 4 && isEnough == false) {
+						myAudio.play();
+						var time = new Date().getTime();
+						isEnough = true;
+						console.log("填满耗时 %d ms, 填充帧数 %d, 填充延迟 %d ms", time - requestTime, requestCount,
+							requestCount * 23);
+
+						console.log("----接收到启动 %d ms, 缓冲区 %f---", time - delayTime, myAudio.buffered.end(0) - myAudio
+							.played.end(0));
+					}
+
+					if (data.audio != null) //喂音频
+					{
+						if (myAudio.buffered.length > 0 && myAudio.played.length > 0) {
+							var bufferTime = myAudio.buffered.end(0) - myAudio.played.end(0);
+							//console.log(" bufferTime %d", bufferTime);
+
+							if (bufferTime > 1) {
+								//console.log("丢掉一些包");
+								//return;
+							}
+						}
+
+						audioMuxer.feed(audioData);
+					}
+
+					if (data.video != null) //喂视频
+					{
+						if (isFeed) {
+							// console.log("渲染视频");
+							jmuxer.feed(data);
+						}
+
+						//jmuxer.feed(videoData);
+					}
+
+				});
+			}
+
 			ws.addEventListener('message', function (event) {
 				var data = ParseProto(event.data); //JAVA服务器转发
 				//console.log("收到数据");
@@ -990,6 +1061,7 @@
 		})
 
 		$("#upload").on("click", function () {
+			console.log(wx);
 			wx.miniProgram.switchTab({
 				url: '/pages/home/home'
 			})