|
@@ -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'
|
|
|
})
|