1.视频模块修复同步更新消息时nodeId不正确的问题;2.新增video模块由于频道占用问题导致推流消息不能同步,回放时缺少消息的问题,使用广播消息来匹配;3.修复webrtc视频界面名字显示
正在显示
7 个修改的文件
包含
69 行增加
和
30 行删除
| @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter { | @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter { | ||
| 63 | super(); | 63 | super(); |
| 64 | this.lastClassActiveTime=0;//最后一次课堂激活的时间戳 | 64 | this.lastClassActiveTime=0;//最后一次课堂激活的时间戳 |
| 65 | //sdk 信息 | 65 | //sdk 信息 |
| 66 | - GlobalConfig.sdkVersion = "v2.36.4.20171201"; | 66 | + GlobalConfig.sdkVersion = "v2.36.11.20171204"; |
| 67 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); | 67 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); |
| 68 | console.log("sdkVersion:" + GlobalConfig.sdkVersion); | 68 | console.log("sdkVersion:" + GlobalConfig.sdkVersion); |
| 69 | //设置 | 69 | //设置 |
| @@ -801,6 +801,7 @@ export default class MessageEntrance extends Emiter { | @@ -801,6 +801,7 @@ export default class MessageEntrance extends Emiter { | ||
| 801 | //本地JOSN加载完成-获取IP信息完成 | 801 | //本地JOSN加载完成-获取IP信息完成 |
| 802 | _getUserIpCallbackHandler(_data) { | 802 | _getUserIpCallbackHandler(_data) { |
| 803 | //获取IP信息,返回一次就不再处理 | 803 | //获取IP信息,返回一次就不再处理 |
| 804 | + loger.log("获取IP信息返回->",_data); | ||
| 804 | if (this.isGetUserIpCallback) { | 805 | if (this.isGetUserIpCallback) { |
| 805 | return; | 806 | return; |
| 806 | } | 807 | } |
| @@ -164,14 +164,14 @@ class EverSocket extends Emiter { | @@ -164,14 +164,14 @@ class EverSocket extends Emiter { | ||
| 164 | } | 164 | } |
| 165 | 165 | ||
| 166 | _clear() { | 166 | _clear() { |
| 167 | - loger.log('WebSocket,Timers销毁'); | 167 | + loger.log('WebSocket-Timers销毁'); |
| 168 | window.clearInterval(this.pingTimer); | 168 | window.clearInterval(this.pingTimer); |
| 169 | window.clearInterval(this.pongTimer); | 169 | window.clearInterval(this.pongTimer); |
| 170 | window.clearInterval(this.reConnectionTimeout); | 170 | window.clearInterval(this.reConnectionTimeout); |
| 171 | this._setConnected(false);//先设置状态 | 171 | this._setConnected(false);//先设置状态 |
| 172 | this._enableEverSocket = false; | 172 | this._enableEverSocket = false; |
| 173 | if (this.websocket == null) { | 173 | if (this.websocket == null) { |
| 174 | - loger.log('WebSocket,Timers已经销毁'); | 174 | + // loger.log('WebSocket,Timers已经销毁'); |
| 175 | return; | 175 | return; |
| 176 | } | 176 | } |
| 177 | this.websocket.onopen = undefined; | 177 | this.websocket.onopen = undefined; |
| @@ -188,7 +188,7 @@ class EverSocket extends Emiter { | @@ -188,7 +188,7 @@ class EverSocket extends Emiter { | ||
| 188 | } | 188 | } |
| 189 | 189 | ||
| 190 | _clearHistory() { | 190 | _clearHistory() { |
| 191 | - loger.log('WebSocket->清除记录'); | 191 | + //loger.log('WebSocket->清除记录'); |
| 192 | window.clearInterval(this.pingTimer); | 192 | window.clearInterval(this.pingTimer); |
| 193 | window.clearInterval(this.pongTimer); | 193 | window.clearInterval(this.pongTimer); |
| 194 | window.clearInterval(this.reConnectionTimeout); | 194 | window.clearInterval(this.reConnectionTimeout); |
| @@ -196,7 +196,7 @@ class EverSocket extends Emiter { | @@ -196,7 +196,7 @@ class EverSocket extends Emiter { | ||
| 196 | this._connected = false; | 196 | this._connected = false; |
| 197 | this._enableEverSocket = false; | 197 | this._enableEverSocket = false; |
| 198 | if (this.websocket == null) { | 198 | if (this.websocket == null) { |
| 199 | - loger.log('WebSocket->已经销毁'); | 199 | + //loger.log('WebSocket->已经销毁'); |
| 200 | return; | 200 | return; |
| 201 | } | 201 | } |
| 202 | this.websocket.onopen = undefined; | 202 | this.websocket.onopen = undefined; |
| @@ -212,7 +212,7 @@ class EverSocket extends Emiter { | @@ -212,7 +212,7 @@ class EverSocket extends Emiter { | ||
| 212 | } | 212 | } |
| 213 | 213 | ||
| 214 | _onOpen() { | 214 | _onOpen() { |
| 215 | - loger.log('WebSocket建立成功', this.wsURL); | 215 | + loger.log('MCU连接成功', this.wsURL); |
| 216 | this.reConnectionCounter = 0; | 216 | this.reConnectionCounter = 0; |
| 217 | this.mcuReconnectCounter=0; | 217 | this.mcuReconnectCounter=0; |
| 218 | 218 | ||
| @@ -224,12 +224,12 @@ class EverSocket extends Emiter { | @@ -224,12 +224,12 @@ class EverSocket extends Emiter { | ||
| 224 | } | 224 | } |
| 225 | 225 | ||
| 226 | _onClose(closeEvent) { | 226 | _onClose(closeEvent) { |
| 227 | - loger.log(`WebSocket连接断开 CODE:${closeEvent.code} REASON:${closeEvent.reason} CLEAN: ${closeEvent.wasClean}`, this.wsURL); | 227 | + loger.log(`MCU连接断开-CODE:${closeEvent.code} REASON:${closeEvent.reason} CLEAN: ${closeEvent.wasClean}`, this.wsURL); |
| 228 | this._reConnection(); | 228 | this._reConnection(); |
| 229 | } | 229 | } |
| 230 | 230 | ||
| 231 | _onError() { | 231 | _onError() { |
| 232 | - loger.log('WebSocket错误出现'); | 232 | + loger.log('WebSocket->ERROR->准备重连'); |
| 233 | this._connected = false; | 233 | this._connected = false; |
| 234 | this._reConnection(); | 234 | this._reConnection(); |
| 235 | } | 235 | } |
| @@ -264,7 +264,7 @@ class EverSocket extends Emiter { | @@ -264,7 +264,7 @@ class EverSocket extends Emiter { | ||
| 264 | ) { | 264 | ) { |
| 265 | 265 | ||
| 266 | } else { | 266 | } else { |
| 267 | - loger.warn('---服务器PINGPONG超时-----'); | 267 | + loger.warn('服务器PINGPONG超时->准备重连',"lastActiveTime:"+this._lastActiveTime,"pongTime:"+pongTime); |
| 268 | this._reConnection(); | 268 | this._reConnection(); |
| 269 | } | 269 | } |
| 270 | } | 270 | } |
| @@ -246,10 +246,10 @@ class RecordInfoMatch extends Emiter { | @@ -246,10 +246,10 @@ class RecordInfoMatch extends Emiter { | ||
| 246 | this.matchForUid(k, _recordMessages[k], _m3u8jsonDataList[k]); | 246 | this.matchForUid(k, _recordMessages[k], _m3u8jsonDataList[k]); |
| 247 | } | 247 | } |
| 248 | 248 | ||
| 249 | - console.log("unMatchUid", this.matchStreams); | 249 | + console.log("matchStreams", this.matchStreams); |
| 250 | console.log("_recordMessages", _recordMessages); | 250 | console.log("_recordMessages", _recordMessages); |
| 251 | console.log("_m3u8jsonDataList", _m3u8jsonDataList); | 251 | console.log("_m3u8jsonDataList", _m3u8jsonDataList); |
| 252 | - console.log("最终匹配完成的数量为->" + Object.keys(this.matchStreams).length, "未匹配成功的数量为->" + (this.streamInfoLen - parseInt(Object.keys(this.matchStreams).length))); | 252 | + console.log("最终匹配完成的数量为->" + Object.keys(this.matchStreams).length); |
| 253 | console.log("没有录制文件的用户", this.unMatchUid); | 253 | console.log("没有录制文件的用户", this.unMatchUid); |
| 254 | this._emit(RecordInfoMatch.RECORD_INFO_MATCH_COMPLETE, this.matchStreams); | 254 | this._emit(RecordInfoMatch.RECORD_INFO_MATCH_COMPLETE, this.matchStreams); |
| 255 | } | 255 | } |
| @@ -317,22 +317,22 @@ class RecordInfoMatch extends Emiter { | @@ -317,22 +317,22 @@ class RecordInfoMatch extends Emiter { | ||
| 317 | if (uidRecordInfoArr.length != uidRecordFileArr.length && uidRecordFileArr.length > 0 && uidRecordInfoArr.length > 0) { | 317 | if (uidRecordInfoArr.length != uidRecordFileArr.length && uidRecordFileArr.length > 0 && uidRecordInfoArr.length > 0) { |
| 318 | console.log(k + "->数量不同 消息数量:" + uidRecordInfoArr.length, "视频数量:" + uidRecordFileArr.length); | 318 | console.log(k + "->数量不同 消息数量:" + uidRecordInfoArr.length, "视频数量:" + uidRecordFileArr.length); |
| 319 | //按消息的数量大于视频数量处理 | 319 | //按消息的数量大于视频数量处理 |
| 320 | - let lastFileItem;//记录最后一个 | 320 | + let lastVideoFileItem;//记录最后一个 |
| 321 | for (let h = 0; h < uidRecordInfoArr.length; h++) { | 321 | for (let h = 0; h < uidRecordInfoArr.length; h++) { |
| 322 | let infoItem = uidRecordInfoArr[h]; | 322 | let infoItem = uidRecordInfoArr[h]; |
| 323 | - let fileItem = uidRecordFileArr[h]; | ||
| 324 | - if (fileItem) { | ||
| 325 | - infoItem.video_url = fileItem.video_url; | 323 | + let videoFileItem = uidRecordFileArr[h]; |
| 324 | + if (videoFileItem) { | ||
| 325 | + infoItem.video_url = videoFileItem.video_url; | ||
| 326 | 326 | ||
| 327 | //如果之前没有匹配到才设置 | 327 | //如果之前没有匹配到才设置 |
| 328 | if (!this.matchStreams[infoItem.stream_id]) { | 328 | if (!this.matchStreams[infoItem.stream_id]) { |
| 329 | this.matchStreams[infoItem.stream_id] = infoItem; | 329 | this.matchStreams[infoItem.stream_id] = infoItem; |
| 330 | } | 330 | } |
| 331 | - lastFileItem = infoItem;//记录最后一个文件的数据 | 331 | + lastVideoFileItem = infoItem;//记录最后一个文件的数据 |
| 332 | } else { | 332 | } else { |
| 333 | - if (lastFileItem) { | ||
| 334 | - infoItem.video_url = lastFileItem.video_url; | ||
| 335 | - infoItem.seek = parseInt(infoItem.creatTimeUTC) - parseInt(lastFileItem.creatTimeUTC); | 333 | + if (lastVideoFileItem) { |
| 334 | + infoItem.video_url = lastVideoFileItem.video_url; | ||
| 335 | + infoItem.seek = parseInt(infoItem.creatTimeUTC) - parseInt(lastVideoFileItem.creatTimeUTC); | ||
| 336 | if (!this.matchStreams[infoItem.stream_id]) { | 336 | if (!this.matchStreams[infoItem.stream_id]) { |
| 337 | this.matchStreams[infoItem.stream_id] = infoItem; | 337 | this.matchStreams[infoItem.stream_id] = infoItem; |
| 338 | } | 338 | } |
| @@ -282,6 +282,7 @@ class RecordPlayBackParse extends Emiter { | @@ -282,6 +282,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 282 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._whiteApeMssages, "whiteApe"); | 282 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._whiteApeMssages, "whiteApe"); |
| 283 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._videoApeMssages, "videoAp"); | 283 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._videoApeMssages, "videoAp"); |
| 284 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._audioApeMssages, "audioApe"); | 284 | this._searchMessageFromTime(this._recordPlaybackTimestamp, this._audioApeMssages, "audioApe"); |
| 285 | + this._searchMessageFromTime(this._recordPlaybackTimestamp, this._videoApeBroadcastMssages, "videoApBroadcast"); | ||
| 285 | } | 286 | } |
| 286 | 287 | ||
| 287 | //加载录制文件rec | 288 | //加载录制文件rec |
| @@ -864,8 +865,12 @@ class RecordPlayBackParse extends Emiter { | @@ -864,8 +865,12 @@ class RecordPlayBackParse extends Emiter { | ||
| 864 | //this._searchApeMessageKeyfram(this._audioApeMssages, ApeConsts.AUDIO_SESSION_ID); | 865 | //this._searchApeMessageKeyfram(this._audioApeMssages, ApeConsts.AUDIO_SESSION_ID); |
| 865 | */ | 866 | */ |
| 866 | 867 | ||
| 868 | + //先查广播消息再查频道消息,频道消息在广播消息之后 | ||
| 869 | + //视频广播消息 | ||
| 870 | + this.searchVideoBroadcastMessageKeyfram(this._videoApeBroadcastMssages); | ||
| 867 | //音视频模块的查找规则和其他模块不一样,音视频按频道查找,如果课堂内存在多个频道,都要查 | 871 | //音视频模块的查找规则和其他模块不一样,音视频按频道查找,如果课堂内存在多个频道,都要查 |
| 868 | - this.searchMediaApeMessageKeyfram(this.mediaChannleList); | 872 | + //this.searchMediaApeMessageKeyfram(this.mediaChannleList); |
| 873 | + | ||
| 869 | 874 | ||
| 870 | //媒体共享模块 | 875 | //媒体共享模块 |
| 871 | this.searchMediaShareApeMessageKeyfram(this._mediaShareApeMssages); | 876 | this.searchMediaShareApeMessageKeyfram(this._mediaShareApeMssages); |
| @@ -935,6 +940,31 @@ class RecordPlayBackParse extends Emiter { | @@ -935,6 +940,31 @@ class RecordPlayBackParse extends Emiter { | ||
| 935 | } | 940 | } |
| 936 | } | 941 | } |
| 937 | 942 | ||
| 943 | + //视频广播消息查找关键帧时间戳的消息 | ||
| 944 | + searchVideoBroadcastMessageKeyfram(_apeMessages) { | ||
| 945 | + if (!_apeMessages) { | ||
| 946 | + return; | ||
| 947 | + } | ||
| 948 | + console.log('SEEK->查找音视频模块广播数据', _apeMessages) | ||
| 949 | + if (_apeMessages) { | ||
| 950 | + for (let k in _apeMessages) { | ||
| 951 | + let nodeIdVideoBrodcast = _apeMessages[k]; | ||
| 952 | + let messageItem; | ||
| 953 | + let keyFrameSeekTime = 0; | ||
| 954 | + for (let i = this._recordPlaybackTimestamp; i > 0; i--) { | ||
| 955 | + messageItem = nodeIdVideoBrodcast[i]; | ||
| 956 | + if (messageItem) { | ||
| 957 | + keyFrameSeekTime = (this._recordPlaybackTimestamp - i); | ||
| 958 | + loger.log("nodeId:" + k + "->SEEK->查找音视频模块广播数据->", messageItem, 'keyFrameSeekTime->', keyFrameSeekTime) | ||
| 959 | + this._everSocketMsgReceivedHandler(messageItem.byteData, keyFrameSeekTime); | ||
| 960 | + break; | ||
| 961 | + } | ||
| 962 | + } | ||
| 963 | + // loger.log("nodeId:" + k + "—>没有查找到数据") | ||
| 964 | + } | ||
| 965 | + } | ||
| 966 | + } | ||
| 967 | + | ||
| 938 | //媒体共享模块查找关键帧时间戳的消息 | 968 | //媒体共享模块查找关键帧时间戳的消息 |
| 939 | searchMediaShareApeMessageKeyfram(_apeMessages) { | 969 | searchMediaShareApeMessageKeyfram(_apeMessages) { |
| 940 | if (!_apeMessages) { | 970 | if (!_apeMessages) { |
| @@ -1080,6 +1110,12 @@ class RecordPlayBackParse extends Emiter { | @@ -1080,6 +1110,12 @@ class RecordPlayBackParse extends Emiter { | ||
| 1080 | },..... | 1110 | },..... |
| 1081 | }*/ | 1111 | }*/ |
| 1082 | 1112 | ||
| 1113 | + if(videoReceivePdu.data.status==1){ | ||
| 1114 | + let videoChannelInfo=videoReceivePdu.data; | ||
| 1115 | + videoChannelInfo.creatTime=videoChannelInfo.timestamp; | ||
| 1116 | + this.videoPublishMessages.push(videoChannelInfo); | ||
| 1117 | + } | ||
| 1118 | + | ||
| 1083 | this._videoApeBroadcastMssages[videoReceivePdu.fromNodeId][timestamp] = { | 1119 | this._videoApeBroadcastMssages[videoReceivePdu.fromNodeId][timestamp] = { |
| 1084 | parseData: videoReceivePdu, | 1120 | parseData: videoReceivePdu, |
| 1085 | byteData: data, | 1121 | byteData: data, |
| @@ -1218,7 +1254,7 @@ class RecordPlayBackParse extends Emiter { | @@ -1218,7 +1254,7 @@ class RecordPlayBackParse extends Emiter { | ||
| 1218 | if (sessionId == ApeConsts.VIDEO_SESSION_ID) { | 1254 | if (sessionId == ApeConsts.VIDEO_SESSION_ID) { |
| 1219 | try { | 1255 | try { |
| 1220 | let videoChannelInfo = pdu['RCVideoChannelInfoPdu'].decode(tableItem.itemData); | 1256 | let videoChannelInfo = pdu['RCVideoChannelInfoPdu'].decode(tableItem.itemData); |
| 1221 | - loger.log('RCVideoChannelInfoPdu->timestamp',timestamp,videoChannelInfo); | 1257 | + //loger.log('RCVideoChannelInfoPdu->timestamp',timestamp,videoChannelInfo); |
| 1222 | //储存音视频模块的数据 | 1258 | //储存音视频模块的数据 |
| 1223 | if (!this.mediaChannleList[videoChannelInfo.channelId]) { | 1259 | if (!this.mediaChannleList[videoChannelInfo.channelId]) { |
| 1224 | this.mediaChannleList[videoChannelInfo.channelId] = {}; | 1260 | this.mediaChannleList[videoChannelInfo.channelId] = {}; |
| @@ -570,6 +570,7 @@ class VideoApe extends Ape { | @@ -570,6 +570,7 @@ class VideoApe extends Ape { | ||
| 570 | //录制回放和H5需要处理 | 570 | //录制回放和H5需要处理 |
| 571 | if(GlobalConfig.isRecordPlayBack){ | 571 | if(GlobalConfig.isRecordPlayBack){ |
| 572 | //录制回放的处理 | 572 | //录制回放的处理 |
| 573 | + console.log("录制回放的处理视频模块控制消息->",videoReceivePdu); | ||
| 573 | if (videoReceivePdu.toNodeId!=0){ | 574 | if (videoReceivePdu.toNodeId!=0){ |
| 574 | //只处理发送给所有人的消息,发给指定人的消息不处理 | 575 | //只处理发送给所有人的消息,发给指定人的消息不处理 |
| 575 | return; | 576 | return; |
| @@ -588,25 +589,24 @@ class VideoApe extends Ape { | @@ -588,25 +589,24 @@ class VideoApe extends Ape { | ||
| 588 | "timestamp": 1505886364100, | 589 | "timestamp": 1505886364100, |
| 589 | "recordTimestamp": 27 | 590 | "recordTimestamp": 27 |
| 590 | }*/ | 591 | }*/ |
| 591 | - /* switch (videoReceivePdu.actionType){ | 592 | + switch (videoReceivePdu.actionType){ |
| 592 | case ApeConsts.MEDIA_ACTION_PUBLISH_STATUS: | 593 | case ApeConsts.MEDIA_ACTION_PUBLISH_STATUS: |
| 593 | //webRtc的推流和停止推流的消息 | 594 | //webRtc的推流和停止推流的消息 |
| 594 | let videoInfo={}; | 595 | let videoInfo={}; |
| 595 | let videoData=data; | 596 | let videoData=data; |
| 596 | - videoData.streamId=data.channel+"_"+data.userId+"_"+data.uid+"_"+(parseInt(parseInt(data.timestamp)/1000)); | ||
| 597 | if(data.status==1){ | 597 | if(data.status==1){ |
| 598 | - loger.log("播放文件->", "userName",data.userName,"uid",data.uid,"时间:"+new Date(1505886364100).toString()); | 598 | + loger.log("播放文件->", videoData); |
| 599 | videoInfo=this.packVideoInfoAndSendToClient(videoData,seek); | 599 | videoInfo=this.packVideoInfoAndSendToClient(videoData,seek); |
| 600 | this._emit(MessageTypes.VIDEO_PLAY, videoInfo); | 600 | this._emit(MessageTypes.VIDEO_PLAY, videoInfo); |
| 601 | }else if(data.status==0){ | 601 | }else if(data.status==0){ |
| 602 | - loger.log("停止播放文件->", "userName",data.userName,"uid",data.uid,"时间:"+new Date(1505886364100).toString()); | 602 | + loger.log("停止播放文件->", videoData); |
| 603 | videoInfo=this.packVideoInfoAndSendToClient(videoData,seek); | 603 | videoInfo=this.packVideoInfoAndSendToClient(videoData,seek); |
| 604 | this._emit(MessageTypes.VIDEO_STOP, videoInfo); | 604 | this._emit(MessageTypes.VIDEO_STOP, videoInfo); |
| 605 | } | 605 | } |
| 606 | break; | 606 | break; |
| 607 | default: | 607 | default: |
| 608 | break | 608 | break |
| 609 | - }*/ | 609 | + } |
| 610 | 610 | ||
| 611 | }else { | 611 | }else { |
| 612 | //判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理 | 612 | //判断接收者的id,如果不是0,并且也不是自己的nodeId,那么消息不做处理 |
| @@ -835,6 +835,7 @@ class VideoApe extends Ape { | @@ -835,6 +835,7 @@ class VideoApe extends Ape { | ||
| 835 | for (let i in this.mediaModule.mediaChannels) { | 835 | for (let i in this.mediaModule.mediaChannels) { |
| 836 | let channelInfo = this.mediaModule.mediaChannels[i]; | 836 | let channelInfo = this.mediaModule.mediaChannels[i]; |
| 837 | if (channelInfo) { | 837 | if (channelInfo) { |
| 838 | + channelInfo.nodeId = channelInfo.fromNodeId;//发送消息的人员nodeId | ||
| 838 | if (channelInfo.status == ApeConsts.CHANNEL_STATUS_RELEASED) { | 839 | if (channelInfo.status == ApeConsts.CHANNEL_STATUS_RELEASED) { |
| 839 | channelInfo.owner = 0; | 840 | channelInfo.owner = 0; |
| 840 | } else { | 841 | } else { |
| @@ -877,7 +878,7 @@ class VideoApe extends Ape { | @@ -877,7 +878,7 @@ class VideoApe extends Ape { | ||
| 877 | packPduModel.userId = _param.userId || "0"; | 878 | packPduModel.userId = _param.userId || "0"; |
| 878 | packPduModel.mediaType = _param.mediaType || ApeConsts.MEDIA_TYPE_VIDEO; | 879 | packPduModel.mediaType = _param.mediaType || ApeConsts.MEDIA_TYPE_VIDEO; |
| 879 | packPduModel.timestamp = _param.timestamp || 0; | 880 | packPduModel.timestamp = _param.timestamp || 0; |
| 880 | - packPduModel.fromNodeId = _param.nodeId || GlobalConfig.nodeId; | 881 | + packPduModel.fromNodeId = _param.nodeId||_param.fromNodeId || GlobalConfig.nodeId; |
| 881 | packPduModel.userName = _param.userName || GlobalConfig.userName; | 882 | packPduModel.userName = _param.userName || GlobalConfig.userName; |
| 882 | packPduModel.toNodeId = 0; | 883 | packPduModel.toNodeId = 0; |
| 883 | packPduModel.userRole = _param.userRole || GlobalConfig.userRole; | 884 | packPduModel.userRole = _param.userRole || GlobalConfig.userRole; |
| @@ -885,12 +886,12 @@ class VideoApe extends Ape { | @@ -885,12 +886,12 @@ class VideoApe extends Ape { | ||
| 885 | packPduModel.screenHeight = _param.screenHeight || GlobalConfig.screenHeight; | 886 | packPduModel.screenHeight = _param.screenHeight || GlobalConfig.screenHeight; |
| 886 | packPduModel.deviceType = _param.deviceType || GlobalConfig.deviceType; | 887 | packPduModel.deviceType = _param.deviceType || GlobalConfig.deviceType; |
| 887 | packPduModel.optionJsonData = GlobalConfig.optionJsonData; | 888 | packPduModel.optionJsonData = GlobalConfig.optionJsonData; |
| 888 | - loger.log('packPdu->', packPduModel); | 889 | + loger.log('packPdu--------------->', packPduModel); |
| 889 | return packPduModel; | 890 | return packPduModel; |
| 890 | } | 891 | } |
| 891 | 892 | ||
| 892 | unPackPdu(owner, itemIdx, itemData) { | 893 | unPackPdu(owner, itemIdx, itemData) { |
| 893 | - loger.log("unPackPdu->owner:", owner, "itemIdx->", itemIdx); | 894 | + loger.log("unPackPdu-------------->owner:", owner, "itemIdx->", itemIdx); |
| 894 | if (owner == null || itemIdx == null || itemData == null) { | 895 | if (owner == null || itemIdx == null || itemData == null) { |
| 895 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 896 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 896 | return null; | 897 | return null; |
| @@ -718,6 +718,7 @@ class WebRtcApe extends Emiter { | @@ -718,6 +718,7 @@ class WebRtcApe extends Emiter { | ||
| 718 | updateAllVideoSize() { | 718 | updateAllVideoSize() { |
| 719 | $("." + this.localWebRtcVideoClass).css("width", this.localVideoWidth * this.videoScale); | 719 | $("." + this.localWebRtcVideoClass).css("width", this.localVideoWidth * this.videoScale); |
| 720 | $("." + this.localWebRtcVideoClass).css("height", this.localVideoHeight * this.videoScale); | 720 | $("." + this.localWebRtcVideoClass).css("height", this.localVideoHeight * this.videoScale); |
| 721 | + $("#videoOwnerName_" + this.uid).css("width", this.localVideoWidth * this.videoScale); | ||
| 721 | 722 | ||
| 722 | $("." + this.hostWebRtcVideoClass).css("width", this.hostRemoteVideoWidth * this.videoScale); | 723 | $("." + this.hostWebRtcVideoClass).css("width", this.hostRemoteVideoWidth * this.videoScale); |
| 723 | $("." + this.hostWebRtcVideoClass).css("height", this.hostRemoteVideoHeight * this.videoScale); | 724 | $("." + this.hostWebRtcVideoClass).css("height", this.hostRemoteVideoHeight * this.videoScale); |
| @@ -206,7 +206,7 @@ class MCU extends Emiter { | @@ -206,7 +206,7 @@ class MCU extends Emiter { | ||
| 206 | 206 | ||
| 207 | // 主动断开MCU连接 | 207 | // 主动断开MCU连接 |
| 208 | leaveMCU() { | 208 | leaveMCU() { |
| 209 | - loger.log('leaveMCU'); | 209 | + loger.log('断开MCU连接'); |
| 210 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3); | 210 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3); |
| 211 | GlobalConfig.classJoinSuccess = false; | 211 | GlobalConfig.classJoinSuccess = false; |
| 212 | if( this._everSocket){ | 212 | if( this._everSocket){ |
-
请 注册 或 登录 后发表评论