正在显示
7 个修改的文件
包含
117 行增加
和
69 行删除
| @@ -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.31.1.20171120"; | 66 | + GlobalConfig.sdkVersion = "v2.31.10.20171122"; |
| 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 | //设置 |
| @@ -644,7 +644,7 @@ export default class MessageEntrance extends Emiter { | @@ -644,7 +644,7 @@ export default class MessageEntrance extends Emiter { | ||
| 644 | 644 | ||
| 645 | 645 | ||
| 646 | //如果没有名字的时候需要随机生成 | 646 | //如果没有名字的时候需要随机生成 |
| 647 | - let randUserId =parseInt(Math.random()*1000)+""+parseInt(Math.random()*1000)+""+parseInt(Math.random()*1000); | 647 | + let randUserId =parseInt(Math.random()*1000)+"_"+parseInt(Math.random()*1000)+"_"+parseInt(Math.random()*1000); |
| 648 | if (GlobalConfig.userRole == ApeConsts.host) { | 648 | if (GlobalConfig.userRole == ApeConsts.host) { |
| 649 | randUserId = "T" + randUserId; | 649 | randUserId = "T" + randUserId; |
| 650 | } else if (GlobalConfig.userRole == ApeConsts.assistant) { | 650 | } else if (GlobalConfig.userRole == ApeConsts.assistant) { |
| @@ -1051,6 +1051,13 @@ export default class MessageEntrance extends Emiter { | @@ -1051,6 +1051,13 @@ export default class MessageEntrance extends Emiter { | ||
| 1051 | 1051 | ||
| 1052 | //开始MCU选点操作 | 1052 | //开始MCU选点操作 |
| 1053 | _getFastestMcuServer(_callback) { | 1053 | _getFastestMcuServer(_callback) { |
| 1054 | + //不再做MCU http测速 | ||
| 1055 | + if (_callback) { | ||
| 1056 | + _callback(null); | ||
| 1057 | + } | ||
| 1058 | + return; | ||
| 1059 | + | ||
| 1060 | + //正常的测试流程 | ||
| 1054 | if (_ipManager) { | 1061 | if (_ipManager) { |
| 1055 | _ipManager.getFastestMcuServer(GlobalConfig.mcuListFinal, _callback); | 1062 | _ipManager.getFastestMcuServer(GlobalConfig.mcuListFinal, _callback); |
| 1056 | } else { | 1063 | } else { |
| @@ -1184,7 +1191,7 @@ export default class MessageEntrance extends Emiter { | @@ -1184,7 +1191,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1184 | 1191 | ||
| 1185 | //判断是否需要获取加入音视频通话频道的channelKey | 1192 | //判断是否需要获取加入音视频通话频道的channelKey |
| 1186 | if (GlobalConfig.appCertificate) { | 1193 | if (GlobalConfig.appCertificate) { |
| 1187 | - loger.log("加入视频通话模块->需要先获取channelKey") | 1194 | + //loger.log("加入视频通话模块->需要先获取channelKey") |
| 1188 | //获取channelKey | 1195 | //获取channelKey |
| 1189 | _sass.getChannelKeyToken((_data)=> { | 1196 | _sass.getChannelKeyToken((_data)=> { |
| 1190 | //{"code":200,"channelKey":"005AQAoAEQzQUQxNzFDOEQwOEU3OTVGMjlCMzZDRUZENTNGOTU0RDY4N0ZGMUEQANylukzO70ocgrNX9hlkNNWvpLBZ9buDAy/fuVkAAA==","uid":"751373669"} | 1197 | //{"code":200,"channelKey":"005AQAoAEQzQUQxNzFDOEQwOEU3OTVGMjlCMzZDRUZENTNGOTU0RDY4N0ZGMUEQANylukzO70ocgrNX9hlkNNWvpLBZ9buDAy/fuVkAAA==","uid":"751373669"} |
| @@ -1194,7 +1201,7 @@ export default class MessageEntrance extends Emiter { | @@ -1194,7 +1201,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1194 | this._joinClassSuccessSeting(); | 1201 | this._joinClassSuccessSeting(); |
| 1195 | }) | 1202 | }) |
| 1196 | } else { | 1203 | } else { |
| 1197 | - loger.log("加入视频通话模块->不需要获取channelKey") | 1204 | + //loger.log("加入视频通话模块->不需要获取channelKey") |
| 1198 | this._joinClassSuccessSeting(); | 1205 | this._joinClassSuccessSeting(); |
| 1199 | } | 1206 | } |
| 1200 | } | 1207 | } |
| @@ -1283,7 +1290,7 @@ export default class MessageEntrance extends Emiter { | @@ -1283,7 +1290,7 @@ export default class MessageEntrance extends Emiter { | ||
| 1283 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); | 1290 | this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData); |
| 1284 | 1291 | ||
| 1285 | //主讲人和老师可以设置旁录 | 1292 | //主讲人和老师可以设置旁录 |
| 1286 | - if (GlobalConfig.appId && !GlobalConfig.openFlash) { | 1293 | + if (GlobalConfig.appId && !GlobalConfig.openFlash&&GlobalConfig.deviceType!=GlobalConfig.deviceH5) { |
| 1287 | //加入之前先设置旁录地址,老师和主讲人开启旁路 | 1294 | //加入之前先设置旁录地址,老师和主讲人开启旁路 |
| 1288 | if (_webRtc && GlobalConfig.isTeachOrAssistant) { | 1295 | if (_webRtc && GlobalConfig.isTeachOrAssistant) { |
| 1289 | let curTimestamp = new Date().getTime(); | 1296 | let curTimestamp = new Date().getTime(); |
| @@ -2568,7 +2575,7 @@ export default class MessageEntrance extends Emiter { | @@ -2568,7 +2575,7 @@ export default class MessageEntrance extends Emiter { | ||
| 2568 | docJoinChannelSuccess() { | 2575 | docJoinChannelSuccess() { |
| 2569 | let interval=new Date().getTime()-parseInt(this.lastClassActiveTime); | 2576 | let interval=new Date().getTime()-parseInt(this.lastClassActiveTime); |
| 2570 | interval=interval/1000; | 2577 | interval=interval/1000; |
| 2571 | - loger.log("最后一次记录的时间->"+this.lastClassActiveTime,"当前时间:"+new Date().getTime(),"间隔:"+interval+"秒"); | 2578 | + //loger.log("最后一次记录的时间->"+this.lastClassActiveTime,"当前时间:"+new Date().getTime(),"间隔:"+interval+"秒"); |
| 2572 | loger.log("文档加入频道成功->isHost=", GlobalConfig.isHost, "当前总人数:", GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length); | 2579 | loger.log("文档加入频道成功->isHost=", GlobalConfig.isHost, "当前总人数:", GlobalConfig.rosterNumber, "sassDoclength=", GlobalConfig.docListPrepare.length); |
| 2573 | 2580 | ||
| 2574 | 2581 |
| @@ -83,16 +83,37 @@ class EverSocket extends Emiter { | @@ -83,16 +83,37 @@ class EverSocket extends Emiter { | ||
| 83 | loger.warn('发送到MCU的数据文件超过10k-->byteLength->'+len,"type:"+type); | 83 | loger.warn('发送到MCU的数据文件超过10k-->byteLength->'+len,"type:"+type); |
| 84 | return; | 84 | return; |
| 85 | } | 85 | } |
| 86 | + this.send2mcu(len,type); | ||
| 87 | + } | ||
| 88 | + this.websocket.send(data); | ||
| 89 | + } else { | ||
| 90 | + loger.warn('WebSocket未建立连接.消息忽略'); | ||
| 91 | + } | ||
| 92 | + } | ||
| 86 | 93 | ||
| 87 | - this.sendToMcuList.push("c2s_"+EngineUtils.creatTimestampStr()+"_"+len+"_"+type); | ||
| 88 | - if(this.sendToMcuList.length>80){ | 94 | + //统计发送到MCU的数据 |
| 95 | + /* | ||
| 96 | + * len 长度 | ||
| 97 | + * type 类型 | ||
| 98 | + * */ | ||
| 99 | + send2mcu(len,type){ | ||
| 100 | + this.sendToMcuList.push(""+len+":"+type); | ||
| 101 | + if(this.sendToMcuList.length>=50){ | ||
| 89 | loger.log("发送到MCU数据统计->",this.sendToMcuList); | 102 | loger.log("发送到MCU数据统计->",this.sendToMcuList); |
| 90 | this.sendToMcuList=[]; | 103 | this.sendToMcuList=[]; |
| 91 | } | 104 | } |
| 92 | } | 105 | } |
| 93 | - this.websocket.send(data); | ||
| 94 | - } else { | ||
| 95 | - loger.warn('WebSocket未建立连接.消息忽略'); | 106 | + |
| 107 | + //统计收到MCU的数据 | ||
| 108 | + /* | ||
| 109 | + * len 长度 | ||
| 110 | + * type 类型 | ||
| 111 | + * */ | ||
| 112 | + mcu2client(len,type){ | ||
| 113 | + this.receiveFromMcuList.push(""+len+":"+type); | ||
| 114 | + if(this.receiveFromMcuList.length>50){ | ||
| 115 | + loger.log("收到MCU数据统计->",this.receiveFromMcuList); | ||
| 116 | + this.receiveFromMcuList=[]; | ||
| 96 | } | 117 | } |
| 97 | } | 118 | } |
| 98 | 119 | ||
| @@ -218,18 +239,17 @@ class EverSocket extends Emiter { | @@ -218,18 +239,17 @@ class EverSocket extends Emiter { | ||
| 218 | const bufferData = messageEvent.data; | 239 | const bufferData = messageEvent.data; |
| 219 | //loger.log('RECEIVE-->byteLength->',bufferData.byteLength); | 240 | //loger.log('RECEIVE-->byteLength->',bufferData.byteLength); |
| 220 | let len=bufferData.byteLength; | 241 | let len=bufferData.byteLength; |
| 221 | - this.receiveFromMcuList.push("s2c_"+EngineUtils.creatTimestampStr()+"_"+len); | ||
| 222 | - if(this.receiveFromMcuList.length>80){ | ||
| 223 | - loger.log("收到MCU数据统计->",this.receiveFromMcuList); | ||
| 224 | - this.receiveFromMcuList=[]; | ||
| 225 | - } | ||
| 226 | if (len> 0) { | 242 | if (len> 0) { |
| 227 | this._emit(EverSocket.MESSAGE, bufferData); | 243 | this._emit(EverSocket.MESSAGE, bufferData); |
| 244 | + this.mcu2client(len,"消息"); | ||
| 245 | + }else { | ||
| 246 | + this.mcu2client(0,"回应"); | ||
| 228 | } | 247 | } |
| 229 | } | 248 | } |
| 230 | 249 | ||
| 231 | _sendPingHandler() { | 250 | _sendPingHandler() { |
| 232 | if (this._connected) { | 251 | if (this._connected) { |
| 252 | + this.send2mcu(0,"心跳"); | ||
| 233 | this.websocket.send(new ArrayBuffer); | 253 | this.websocket.send(new ArrayBuffer); |
| 234 | } else { | 254 | } else { |
| 235 | this._reConnection(); | 255 | this._reConnection(); |
| @@ -1240,8 +1240,11 @@ class RecordPlayBackParse extends Emiter { | @@ -1240,8 +1240,11 @@ class RecordPlayBackParse extends Emiter { | ||
| 1240 | } | 1240 | } |
| 1241 | 1241 | ||
| 1242 | } | 1242 | } |
| 1243 | + //****1310721是屏幕共享和外部流 不需要匹配***** | ||
| 1244 | + if(parseInt(videoChannelInfo.channelId)<1310721){ | ||
| 1243 | this.videoPublishMessages.push(videoChannelInfo); | 1245 | this.videoPublishMessages.push(videoChannelInfo); |
| 1244 | } | 1246 | } |
| 1247 | + } | ||
| 1245 | this.mediaChannleList[videoChannelInfo.channelId][timestamp] = { | 1248 | this.mediaChannleList[videoChannelInfo.channelId][timestamp] = { |
| 1246 | parseData: videoChannelInfo, | 1249 | parseData: videoChannelInfo, |
| 1247 | byteData: data, | 1250 | byteData: data, |
| @@ -73,24 +73,13 @@ export default class Ape extends Emiter { | @@ -73,24 +73,13 @@ export default class Ape extends Emiter { | ||
| 73 | } | 73 | } |
| 74 | 74 | ||
| 75 | // 消息处理 | 75 | // 消息处理 |
| 76 | - _pduMessageHandler(regBuffer,_seekTime) { | ||
| 77 | - let seekTime=_seekTime||0;//这个只有在录制回放的时候才有 | ||
| 78 | - /* loger.warn('APE->收到消息处理->',GlobalConfig.mcuDelay,GlobalConfig.messageDelay); | ||
| 79 | - //延迟处理消息(3个条件--->ape允许延迟&&客户端设置需要延迟&&Sass设置的延迟时间大于0) | ||
| 80 | - if (this._apeDelayed&&GlobalConfig.messageDelay&&GlobalConfig.mcuDelay>0) { | ||
| 81 | - loger.warn('延迟处理消息->',GlobalConfig.mcuDelay); | ||
| 82 | - setTimeout(() => { | ||
| 83 | - this._pduRegAdapterHandler(regBuffer,seekTime); | ||
| 84 | - }, GlobalConfig.mcuDelay*1000);//mcuDelay单位是秒,这里需要换算为毫秒 | ||
| 85 | - return; | ||
| 86 | - } | ||
| 87 | -*/ | ||
| 88 | - //不延迟,立即处理 | ||
| 89 | - this._pduRegAdapterHandler(regBuffer,seekTime); | 76 | + _pduMessageHandler(regBuffer, _seekTime) { |
| 77 | + let seekTime = _seekTime || 0;//这个只有在录制回放的时候才有 | ||
| 78 | + this._pduRegAdapterHandler(regBuffer, seekTime); | ||
| 90 | } | 79 | } |
| 91 | 80 | ||
| 92 | // 数据同步处理 | 81 | // 数据同步处理 |
| 93 | - _pduRegAdapterHandler(regBuffer,seekTime) { | 82 | + _pduRegAdapterHandler(regBuffer, seekTime) { |
| 94 | let regPdu = pdu['RCAdapterPdu'].decode(regBuffer); | 83 | let regPdu = pdu['RCAdapterPdu'].decode(regBuffer); |
| 95 | let regItems = regPdu.item; | 84 | let regItems = regPdu.item; |
| 96 | let regItemSize = regItems.length; | 85 | let regItemSize = regItems.length; |
| @@ -103,7 +92,6 @@ export default class Ape extends Emiter { | @@ -103,7 +92,6 @@ export default class Ape extends Emiter { | ||
| 103 | let regItemData = regItem.itemData; | 92 | let regItemData = regItem.itemData; |
| 104 | 93 | ||
| 105 | //根据数据包中的type处理数据是否同步 | 94 | //根据数据包中的type处理数据是否同步 |
| 106 | - | ||
| 107 | if (pdu.RCPDU_REG_UPDATE_OBJ !== regItemType) { | 95 | if (pdu.RCPDU_REG_UPDATE_OBJ !== regItemType) { |
| 108 | if (pdu.RCPDU_REG_RESPONSE_OBJ == regItemType) { | 96 | if (pdu.RCPDU_REG_RESPONSE_OBJ == regItemType) { |
| 109 | let regResponsePdu = pdu['RCRegistryResponseObjPdu'].decode(regItemData); | 97 | let regResponsePdu = pdu['RCRegistryResponseObjPdu'].decode(regItemData); |
| @@ -124,7 +112,7 @@ export default class Ape extends Emiter { | @@ -124,7 +112,7 @@ export default class Ape extends Emiter { | ||
| 124 | case pdu.RCPDU_REG_ROSTER_INSERT_PDU: | 112 | case pdu.RCPDU_REG_ROSTER_INSERT_PDU: |
| 125 | //let rosterInsertData = pdu['RCRegstryRosterInsertItemPdu'].decode(user_data); | 113 | //let rosterInsertData = pdu['RCRegstryRosterInsertItemPdu'].decode(user_data); |
| 126 | //loger.log('RCPDU_REG_ROSTER_INSERT_PDU---->'); | 114 | //loger.log('RCPDU_REG_ROSTER_INSERT_PDU---->'); |
| 127 | - console.log(user_data); | 115 | + try{ |
| 128 | let rosterInsertData = pdu['RCRegistryRosterInsertItemPdu'].decode(user_data); | 116 | let rosterInsertData = pdu['RCRegistryRosterInsertItemPdu'].decode(user_data); |
| 129 | let rosterInsertItems = rosterInsertData.items; | 117 | let rosterInsertItems = rosterInsertData.items; |
| 130 | let rosterInsertItemsLen = rosterInsertItems.length; | 118 | let rosterInsertItemsLen = rosterInsertItems.length; |
| @@ -134,6 +122,9 @@ export default class Ape extends Emiter { | @@ -134,6 +122,9 @@ export default class Ape extends Emiter { | ||
| 134 | let recordData = pdu['RCNodeInfoRecordPdu'].decode(record.item_data); | 122 | let recordData = pdu['RCNodeInfoRecordPdu'].decode(record.item_data); |
| 135 | this.rosterInsertHandler(recordId, recordData); | 123 | this.rosterInsertHandler(recordId, recordData); |
| 136 | } | 124 | } |
| 125 | + }catch (err){ | ||
| 126 | + console.log("RCPDU_REG_ROSTER_INSERT_PDU err",err) | ||
| 127 | + } | ||
| 137 | break; | 128 | break; |
| 138 | case pdu.RCPDU_REG_ROSTER_DELETE_PDU: | 129 | case pdu.RCPDU_REG_ROSTER_DELETE_PDU: |
| 139 | let rosterDelData = pdu['RCRegistryRosterDeleteItemPdu'].decode(user_data); | 130 | let rosterDelData = pdu['RCRegistryRosterDeleteItemPdu'].decode(user_data); |
| @@ -161,7 +152,7 @@ export default class Ape extends Emiter { | @@ -161,7 +152,7 @@ export default class Ape extends Emiter { | ||
| 161 | } | 152 | } |
| 162 | 153 | ||
| 163 | //文档数据数组内部自己处理数组 | 154 | //文档数据数组内部自己处理数组 |
| 164 | - this.tableInsertApeHandler(tableInsertItems,seekTime); | 155 | + this.tableInsertApeHandler(tableInsertItems, seekTime); |
| 165 | break; | 156 | break; |
| 166 | case pdu.RCPDU_REG_TABLE_DELETE_PDU: | 157 | case pdu.RCPDU_REG_TABLE_DELETE_PDU: |
| 167 | let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data); | 158 | let tableDeleteData = pdu['RCRegistryTableDeleteItemPdu'].decode(user_data); |
| @@ -178,11 +169,11 @@ export default class Ape extends Emiter { | @@ -178,11 +169,11 @@ export default class Ape extends Emiter { | ||
| 178 | 169 | ||
| 179 | for (let i = 0; i < tableUpdateItemsLen; ++i) { | 170 | for (let i = 0; i < tableUpdateItemsLen; ++i) { |
| 180 | let tableItem = tableUpdateItems[i]; | 171 | let tableItem = tableUpdateItems[i]; |
| 181 | - this.tableUpdateHandler(tableItem.owner, tableItem.itemIdx, tableItem.itemData,seekTime); | 172 | + this.tableUpdateHandler(tableItem.owner, tableItem.itemIdx, tableItem.itemData, seekTime); |
| 182 | } | 173 | } |
| 183 | 174 | ||
| 184 | //白板,文档数据数组内部自己处理数组 | 175 | //白板,文档数据数组内部自己处理数组 |
| 185 | - this.tableUpdateApeHandler(tableUpdateItems,seekTime); | 176 | + this.tableUpdateApeHandler(tableUpdateItems, seekTime); |
| 186 | break; | 177 | break; |
| 187 | case pdu.RCPDU_REG_QUEUE_UPDATE_PDU: | 178 | case pdu.RCPDU_REG_QUEUE_UPDATE_PDU: |
| 188 | case pdu.RCPDU_REG_QUEUE_DELETE_PDU: | 179 | case pdu.RCPDU_REG_QUEUE_DELETE_PDU: |
| @@ -210,15 +201,18 @@ export default class Ape extends Emiter { | @@ -210,15 +201,18 @@ export default class Ape extends Emiter { | ||
| 210 | //loger.warn(this._session_name + ' tableInsertHandler 应有子类具体覆盖处理.'); | 201 | //loger.warn(this._session_name + ' tableInsertHandler 应有子类具体覆盖处理.'); |
| 211 | } | 202 | } |
| 212 | 203 | ||
| 213 | - tableUpdateHandler(ownerId, recordId, recordData,seekTime) { | 204 | + tableUpdateHandler(ownerId, recordId, recordData, seekTime) { |
| 214 | //loger.warn(this._session_name + ' tableUpdateHandler 应有子类具体覆盖处理.'); | 205 | //loger.warn(this._session_name + ' tableUpdateHandler 应有子类具体覆盖处理.'); |
| 215 | } | 206 | } |
| 216 | - tableUpdateApeHandler(tableUpdateItems,seekTime){ | 207 | + |
| 208 | + tableUpdateApeHandler(tableUpdateItems, seekTime) { | ||
| 217 | 209 | ||
| 218 | } | 210 | } |
| 219 | - tableInsertApeHandler(tableInsertItems,seekTime){ | 211 | + |
| 212 | + tableInsertApeHandler(tableInsertItems, seekTime) { | ||
| 220 | 213 | ||
| 221 | } | 214 | } |
| 215 | + | ||
| 222 | tableDeleteHandler(tableId, record) { | 216 | tableDeleteHandler(tableId, record) { |
| 223 | //loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.'); | 217 | //loger.warn(this._session_name + ' tableDelHandler 应有子类具体覆盖处理.'); |
| 224 | } | 218 | } |
| @@ -230,10 +224,12 @@ export default class Ape extends Emiter { | @@ -230,10 +224,12 @@ export default class Ape extends Emiter { | ||
| 230 | onJoinSessionHandlerSuccess() { | 224 | onJoinSessionHandlerSuccess() { |
| 231 | //loger.warn(this._session_name + ' onJoinSessionHandlerSuccess 应有子类具体覆盖处理.'); | 225 | //loger.warn(this._session_name + ' onJoinSessionHandlerSuccess 应有子类具体覆盖处理.'); |
| 232 | } | 226 | } |
| 227 | + | ||
| 233 | //录制状态发生改变后ape模块数据更新 | 228 | //录制状态发生改变后ape模块数据更新 |
| 234 | - updaterRecordApeStatus(_data){ | 229 | + updaterRecordApeStatus(_data) { |
| 235 | loger.warn(this._session_name + 'updaterRecordApeStatus->应有子类具体覆盖处理.'); | 230 | loger.warn(this._session_name + 'updaterRecordApeStatus->应有子类具体覆盖处理.'); |
| 236 | } | 231 | } |
| 232 | + | ||
| 237 | // 加入Session处理 | 233 | // 加入Session处理 |
| 238 | _joinSessionHandler(data) { | 234 | _joinSessionHandler(data) { |
| 239 | //loger.log(this._session_name, ' -> 加入Session'); | 235 | //loger.log(this._session_name, ' -> 加入Session'); |
| @@ -331,17 +327,11 @@ export default class Ape extends Emiter { | @@ -331,17 +327,11 @@ export default class Ape extends Emiter { | ||
| 331 | 327 | ||
| 332 | send(appPdu) { | 328 | send(appPdu) { |
| 333 | //loger.log('Ape发送数据NORMAL PDU'); | 329 | //loger.log('Ape发送数据NORMAL PDU'); |
| 334 | - //console.log(appPdu); | ||
| 335 | - //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); | ||
| 336 | - /* if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { | ||
| 337 | - this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | ||
| 338 | - return; | ||
| 339 | - }*/ | ||
| 340 | - if(!this.mcu||!this.mcu.connected){ | 330 | + if (!this.mcu || !this.mcu.connected || GlobalConfig.classExit) { |
| 341 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | 331 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); |
| 342 | return; | 332 | return; |
| 343 | } | 333 | } |
| 344 | - if(!this._classInfo){ | 334 | + if (!this._classInfo) { |
| 345 | loger.warn('Ape发送数据NORMAL PDU->失败->ape课堂数据无效->', this._classInfo); | 335 | loger.warn('Ape发送数据NORMAL PDU->失败->ape课堂数据无效->', this._classInfo); |
| 346 | return; | 336 | return; |
| 347 | } | 337 | } |
| @@ -364,7 +354,10 @@ export default class Ape extends Emiter { | @@ -364,7 +354,10 @@ export default class Ape extends Emiter { | ||
| 364 | 354 | ||
| 365 | // 发送当前APE(session uniform包) | 355 | // 发送当前APE(session uniform包) |
| 366 | sendUniform(appPdu, top) { | 356 | sendUniform(appPdu, top) { |
| 367 | - if(!this._classInfo){ | 357 | + if (!this.mcu || !this.mcu.connected || GlobalConfig.classExit) { |
| 358 | + | ||
| 359 | + } | ||
| 360 | + if (!this._classInfo) { | ||
| 368 | loger.warn('Ape发送数据UNIFORM PDU->失败->ape课堂数据无效->', this._classInfo); | 361 | loger.warn('Ape发送数据UNIFORM PDU->失败->ape课堂数据无效->', this._classInfo); |
| 369 | return; | 362 | return; |
| 370 | } | 363 | } |
| @@ -381,22 +374,21 @@ export default class Ape extends Emiter { | @@ -381,22 +374,21 @@ export default class Ape extends Emiter { | ||
| 381 | ); | 374 | ); |
| 382 | uniformPdu.data = appPdu.toArrayBuffer(); | 375 | uniformPdu.data = appPdu.toArrayBuffer(); |
| 383 | // Mcu发送 | 376 | // Mcu发送 |
| 384 | - if(this.mcu){ | 377 | + if (this.mcu) { |
| 385 | this.mcu.send(uniformPdu); | 378 | this.mcu.send(uniformPdu); |
| 386 | - }else { | ||
| 387 | - loger.warn('MCU为空->无法发送消息',uniformPdu); | 379 | + } else { |
| 380 | + loger.warn('MCU为空->无法发送消息', uniformPdu); | ||
| 388 | } | 381 | } |
| 389 | 382 | ||
| 390 | } | 383 | } |
| 391 | 384 | ||
| 392 | sendChatUniform(appPdu, top) { | 385 | sendChatUniform(appPdu, top) { |
| 393 | - //console.log(appPdu); | ||
| 394 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); | 386 | //loger.log('当前的状态============',GlobalConfig.getCurrentStatus().code); |
| 395 | - if (GlobalConfig.getCurrentStatus().code == 0 || GlobalConfig.getCurrentStatus().code == 1) { | 387 | + if (!this.mcu || !this.mcu.connected || GlobalConfig.classExit) { |
| 396 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); | 388 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_SEND_FAILED_NO_JOIN); |
| 397 | return; | 389 | return; |
| 398 | } | 390 | } |
| 399 | - if(!this._classInfo){ | 391 | + if (!this._classInfo) { |
| 400 | loger.warn("课堂数据还未获取,不能发送消息"); | 392 | loger.warn("课堂数据还未获取,不能发送消息"); |
| 401 | return; | 393 | return; |
| 402 | } | 394 | } |
| @@ -194,16 +194,16 @@ ApeConsts.MUSIC_SESSION_TAG = "mis-tag"; | @@ -194,16 +194,16 @@ ApeConsts.MUSIC_SESSION_TAG = "mis-tag"; | ||
| 194 | ApeConsts.SCREENSHARING_SESSION_TAG = "scr-tag"; | 194 | ApeConsts.SCREENSHARING_SESSION_TAG = "scr-tag"; |
| 195 | ApeConsts.QUESTION_SESSION_TAG = "qst-tag"; | 195 | ApeConsts.QUESTION_SESSION_TAG = "qst-tag"; |
| 196 | 196 | ||
| 197 | -ApeConsts.CONFERENCE_OBJ_ROSTER_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 1); | 197 | +ApeConsts.CONFERENCE_OBJ_ROSTER_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 1);//720897 |
| 198 | ApeConsts.CONFERENCE_OBJ_ROSTER_NAME = "node list"; | 198 | ApeConsts.CONFERENCE_OBJ_ROSTER_NAME = "node list"; |
| 199 | ApeConsts.CONFERENCE_OBJ_ROSTER_TAG = "node list tag"; | 199 | ApeConsts.CONFERENCE_OBJ_ROSTER_TAG = "node list tag"; |
| 200 | 200 | ||
| 201 | -ApeConsts.CONFERENCE_OBJ_QUEUE_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 2); | 201 | +ApeConsts.CONFERENCE_OBJ_QUEUE_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 2);//720898 |
| 202 | ApeConsts.CONFERENCE_OBJ_QUEUE_NAME = "mic list"; | 202 | ApeConsts.CONFERENCE_OBJ_QUEUE_NAME = "mic list"; |
| 203 | ApeConsts.CONFERENCE_OBJ_QUEUE_TAG = "mic list tag"; | 203 | ApeConsts.CONFERENCE_OBJ_QUEUE_TAG = "mic list tag"; |
| 204 | 204 | ||
| 205 | // conference tab pages | 205 | // conference tab pages |
| 206 | -ApeConsts.CONFERENCE_OBJ_TABLE_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 3); | 206 | +ApeConsts.CONFERENCE_OBJ_TABLE_ID = ((ApeConsts.CONFERENCE_SESSION_ID << 16) + 3);//720899 |
| 207 | ApeConsts.CONFERENCE_OBJ_TABLE_NAME = "tabbar list"; | 207 | ApeConsts.CONFERENCE_OBJ_TABLE_NAME = "tabbar list"; |
| 208 | ApeConsts.CONFERENCE_OBJ_TABLE_TAG = "tabbar list tag"; | 208 | ApeConsts.CONFERENCE_OBJ_TABLE_TAG = "tabbar list tag"; |
| 209 | 209 |
| @@ -23,6 +23,7 @@ class ConferApe extends Ape { | @@ -23,6 +23,7 @@ class ConferApe extends Ape { | ||
| 23 | ApeConsts.CONFERENCE_SESSION_NAME, | 23 | ApeConsts.CONFERENCE_SESSION_NAME, |
| 24 | ApeConsts.CONFERENCE_SESSION_TAG | 24 | ApeConsts.CONFERENCE_SESSION_TAG |
| 25 | ); | 25 | ); |
| 26 | + this.isSendInsterRoster=false;//这个很重要,每次MCU连接成功之后只发一次 | ||
| 26 | this.isLeave=false;//记录自己是否已经离开 | 27 | this.isLeave=false;//记录自己是否已经离开 |
| 27 | this.rosters = {}; //用户列表 | 28 | this.rosters = {}; //用户列表 |
| 28 | this.rosterLen = 0;//当前课堂人数 | 29 | this.rosterLen = 0;//当前课堂人数 |
| @@ -57,7 +58,10 @@ class ConferApe extends Ape { | @@ -57,7 +58,10 @@ class ConferApe extends Ape { | ||
| 57 | 58 | ||
| 58 | //加入课堂 | 59 | //加入课堂 |
| 59 | _joinSessionHandler(_data) { | 60 | _joinSessionHandler(_data) { |
| 60 | - //let nodeInfoRecordPdu = this.mcu.mcuClassInfo.self; | 61 | + if(this.isSendInsterRoster){ |
| 62 | + loger.warn("已经发送过insertRoster,不能再次发送"); | ||
| 63 | + return | ||
| 64 | + } | ||
| 61 | let nodeInfoRecordPdu = this.getNodeInfo(); | 65 | let nodeInfoRecordPdu = this.getNodeInfo(); |
| 62 | 66 | ||
| 63 | let userDataPdu = new pdu['RCNodeInfoUserDataPdu']; | 67 | let userDataPdu = new pdu['RCNodeInfoUserDataPdu']; |
| @@ -67,14 +71,12 @@ class ConferApe extends Ape { | @@ -67,14 +71,12 @@ class ConferApe extends Ape { | ||
| 67 | nodeInfoRecordPdu.userData = userDataPdu.toArrayBuffer(); | 71 | nodeInfoRecordPdu.userData = userDataPdu.toArrayBuffer(); |
| 68 | nodeInfoRecordPdu.deviceType = GlobalConfig.deviceType; //设备类型 | 72 | nodeInfoRecordPdu.deviceType = GlobalConfig.deviceType; //设备类型 |
| 69 | 73 | ||
| 70 | - //loger.log('开始加入->', nodeInfoRecordPdu); | ||
| 71 | - | ||
| 72 | let item = new pdu['RCRegistryRosterItemPdu']; | 74 | let item = new pdu['RCRegistryRosterItemPdu']; |
| 73 | item.nodeId = nodeInfoRecordPdu.nodeId; | 75 | item.nodeId = nodeInfoRecordPdu.nodeId; |
| 74 | item.nodeData = nodeInfoRecordPdu.toArrayBuffer(); | 76 | item.nodeData = nodeInfoRecordPdu.toArrayBuffer(); |
| 75 | 77 | ||
| 76 | let rosterUpdateItem = new pdu['RCRegistryRosterInsertItemPdu']; | 78 | let rosterUpdateItem = new pdu['RCRegistryRosterInsertItemPdu']; |
| 77 | - rosterUpdateItem.type = pdu.RCPDU_REG_ROSTER_UPDATE_PDU; | 79 | + rosterUpdateItem.type =pdu.RCPDU_REG_ROSTER_UPDATE_PDU;// pdu.RCPDU_REG_ROSTER_INSERT_PDU 暂时用update的类型,MCU第一次会当insert处理,目前insert解包出错 |
| 78 | rosterUpdateItem.items.push(item); | 80 | rosterUpdateItem.items.push(item); |
| 79 | 81 | ||
| 80 | let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; | 82 | let updateObjPdu = new pdu['RCRegistryUpdateObjPdu']; |
| @@ -91,6 +93,9 @@ class ConferApe extends Ape { | @@ -91,6 +93,9 @@ class ConferApe extends Ape { | ||
| 91 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 93 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 92 | adapterPdu.item.push(adapterItemPdu); | 94 | adapterPdu.item.push(adapterItemPdu); |
| 93 | this.sendUniform(adapterPdu, true); | 95 | this.sendUniform(adapterPdu, true); |
| 96 | + | ||
| 97 | + this.isSendInsterRoster=true; | ||
| 98 | + loger.log('发送insertRoster->', nodeInfoRecordPdu); | ||
| 94 | } | 99 | } |
| 95 | 100 | ||
| 96 | //获取角色信息 | 101 | //获取角色信息 |
| @@ -289,7 +294,7 @@ class ConferApe extends Ape { | @@ -289,7 +294,7 @@ class ConferApe extends Ape { | ||
| 289 | loger.warn('目前已经是录制状态->当前课堂人数:' + this.rosterLen); | 294 | loger.warn('目前已经是录制状态->当前课堂人数:' + this.rosterLen); |
| 290 | return false; | 295 | return false; |
| 291 | } | 296 | } |
| 292 | - //如果是host或者当前课堂只有1个人 | 297 | + //如果是host或者当前课堂只有1个人,并且不是H5 |
| 293 | if (this.checkHasRecordControl()) { | 298 | if (this.checkHasRecordControl()) { |
| 294 | loger.warn('开启录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus, "当前人数:" + this.rosterLen); | 299 | loger.warn('开启录制', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus, "当前人数:" + this.rosterLen); |
| 295 | //如果录制的文件名不存在,需要创建一个名字 | 300 | //如果录制的文件名不存在,需要创建一个名字 |
| @@ -619,6 +624,9 @@ class ConferApe extends Ape { | @@ -619,6 +624,9 @@ class ConferApe extends Ape { | ||
| 619 | sendUpdaterClassStatusInfo(_param) { | 624 | sendUpdaterClassStatusInfo(_param) { |
| 620 | //{"actionType": 1,isStopAllPublishMedia:false} //actionType课堂状态 isStopAllPublishMedia是否停止当前的所有推流 | 625 | //{"actionType": 1,isStopAllPublishMedia:false} //actionType课堂状态 isStopAllPublishMedia是否停止当前的所有推流 |
| 621 | //console.log('发送更新课堂信息->'); | 626 | //console.log('发送更新课堂信息->'); |
| 627 | + if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_ZHIBO&&GlobalConfig.isH5==true){ | ||
| 628 | + return; | ||
| 629 | + } | ||
| 622 | if (_param == null || EngineUtils.isEmptyObject(_param)) { | 630 | if (_param == null || EngineUtils.isEmptyObject(_param)) { |
| 623 | loger.log('发送更新课堂信息->参数错误'); | 631 | loger.log('发送更新课堂信息->参数错误'); |
| 624 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 632 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| @@ -733,6 +741,10 @@ class ConferApe extends Ape { | @@ -733,6 +741,10 @@ class ConferApe extends Ape { | ||
| 733 | //更新录制进行时间 | 741 | //更新录制进行时间 |
| 734 | GlobalConfig.recordTimestamp = GlobalConfig.recordTimestamp + 1; | 742 | GlobalConfig.recordTimestamp = GlobalConfig.recordTimestamp + 1; |
| 735 | if (this.checkHasRecordControl()) { | 743 | if (this.checkHasRecordControl()) { |
| 744 | + | ||
| 745 | + if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_ZHIBO&&GlobalConfig.isH5==true){ | ||
| 746 | + return; | ||
| 747 | + } | ||
| 736 | //以一定的时间间隔同步课堂内所有人的累积上课时间 | 748 | //以一定的时间间隔同步课堂内所有人的累积上课时间 |
| 737 | if (GlobalConfig.recordTimestamp % GlobalConfig.updateRecordTimeDelay == 0) { | 749 | if (GlobalConfig.recordTimestamp % GlobalConfig.updateRecordTimeDelay == 0) { |
| 738 | //保存数据到Sass | 750 | //保存数据到Sass |
| @@ -945,7 +957,6 @@ class ConferApe extends Ape { | @@ -945,7 +957,6 @@ class ConferApe extends Ape { | ||
| 945 | } | 957 | } |
| 946 | 958 | ||
| 947 | rosterInsertHandler(nodeId, nodeData) { | 959 | rosterInsertHandler(nodeId, nodeData) { |
| 948 | - //loger.log("人员进入--->"); | ||
| 949 | if (GlobalConfig.nodeId == nodeId) { | 960 | if (GlobalConfig.nodeId == nodeId) { |
| 950 | loger.log("人员进入课堂模块--->自己"); | 961 | loger.log("人员进入课堂模块--->自己"); |
| 951 | } else { | 962 | } else { |
| @@ -1026,8 +1037,10 @@ class ConferApe extends Ape { | @@ -1026,8 +1037,10 @@ class ConferApe extends Ape { | ||
| 1026 | loger.log("人员加入->", newNodeData); | 1037 | loger.log("人员加入->", newNodeData); |
| 1027 | } | 1038 | } |
| 1028 | 1039 | ||
| 1040 | + if(!GlobalConfig.isH5){ | ||
| 1029 | this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData}); | 1041 | this._emit(MessageTypes.CLASS_INSERT_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData}); |
| 1030 | this.emitRosterChange(); | 1042 | this.emitRosterChange(); |
| 1043 | + } | ||
| 1031 | } else { | 1044 | } else { |
| 1032 | //loger.log("更新人员列表数据,rosterExists已经存在",rosterExists); | 1045 | //loger.log("更新人员列表数据,rosterExists已经存在",rosterExists); |
| 1033 | this.rosterLen = Object.keys(this.rosters).length; | 1046 | this.rosterLen = Object.keys(this.rosters).length; |
| @@ -1038,8 +1051,11 @@ class ConferApe extends Ape { | @@ -1038,8 +1051,11 @@ class ConferApe extends Ape { | ||
| 1038 | loger.log("人员更新信息->", newNodeData); | 1051 | loger.log("人员更新信息->", newNodeData); |
| 1039 | } | 1052 | } |
| 1040 | } | 1053 | } |
| 1054 | + if(!GlobalConfig.isH5){ | ||
| 1041 | this._emit(MessageTypes.CLASS_UPDATE_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData}); | 1055 | this._emit(MessageTypes.CLASS_UPDATE_ROSTER, {"nodeId": nodeId, "nodeData": newNodeData}); |
| 1042 | } | 1056 | } |
| 1057 | + | ||
| 1058 | + } | ||
| 1043 | } | 1059 | } |
| 1044 | 1060 | ||
| 1045 | //踢出用户(_param是新进入的人的信息) | 1061 | //踢出用户(_param是新进入的人的信息) |
| @@ -1105,6 +1121,7 @@ class ConferApe extends Ape { | @@ -1105,6 +1121,7 @@ class ConferApe extends Ape { | ||
| 1105 | this.rosterLen = Object.keys(this.rosters).length; | 1121 | this.rosterLen = Object.keys(this.rosters).length; |
| 1106 | GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数 | 1122 | GlobalConfig.rosterNumber = this.rosterLen;//记录当前的总人数 |
| 1107 | 1123 | ||
| 1124 | + if(!GlobalConfig.isH5) { | ||
| 1108 | this.emitRosterChange(); | 1125 | this.emitRosterChange(); |
| 1109 | this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId, "rosterLen": this.rosterLen}); | 1126 | this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId, "rosterLen": this.rosterLen}); |
| 1110 | 1127 | ||
| @@ -1124,11 +1141,14 @@ class ConferApe extends Ape { | @@ -1124,11 +1141,14 @@ class ConferApe extends Ape { | ||
| 1124 | } | 1141 | } |
| 1125 | } | 1142 | } |
| 1126 | } | 1143 | } |
| 1144 | + } | ||
| 1127 | 1145 | ||
| 1128 | //广播当前的人数 | 1146 | //广播当前的人数 |
| 1129 | emitRosterChange() { | 1147 | emitRosterChange() { |
| 1148 | + if(!GlobalConfig.isH5){ | ||
| 1130 | this._emit(MessageTypes.CLASS_UPDATE_ROSTER_NUM, Object.keys(this.rosters).length); | 1149 | this._emit(MessageTypes.CLASS_UPDATE_ROSTER_NUM, Object.keys(this.rosters).length); |
| 1131 | } | 1150 | } |
| 1151 | + } | ||
| 1132 | 1152 | ||
| 1133 | ///////数据的封包和解包///////////////////////////////////////// | 1153 | ///////数据的封包和解包///////////////////////////////////////// |
| 1134 | packPdu(_param, _itemIdx) { | 1154 | packPdu(_param, _itemIdx) { |
| @@ -1206,6 +1226,7 @@ class ConferApe extends Ape { | @@ -1206,6 +1226,7 @@ class ConferApe extends Ape { | ||
| 1206 | GlobalConfig.rosterNumber = this.rosterLen; | 1226 | GlobalConfig.rosterNumber = this.rosterLen; |
| 1207 | GlobalConfig.rosters = this.rosters; | 1227 | GlobalConfig.rosters = this.rosters; |
| 1208 | this.isLeave=true; | 1228 | this.isLeave=true; |
| 1229 | + this.isSendInsterRoster=false; | ||
| 1209 | } | 1230 | } |
| 1210 | 1231 | ||
| 1211 | } | 1232 | } |
| @@ -406,6 +406,12 @@ class VideoApe extends Ape { | @@ -406,6 +406,12 @@ class VideoApe extends Ape { | ||
| 406 | loger.warn(GlobalConfig.getCurrentStatus()); | 406 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 407 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; | 407 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; |
| 408 | } | 408 | } |
| 409 | + clearTimeout(this.releaseTimeId); | ||
| 410 | + if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_ZHIBO&&GlobalConfig.isH5){ | ||
| 411 | + //直播时H5不处理 | ||
| 412 | + return; | ||
| 413 | + } | ||
| 414 | + | ||
| 409 | loger.log("释放nodeId占用的所有频道->", nodeId); | 415 | loger.log("释放nodeId占用的所有频道->", nodeId); |
| 410 | let openingChannelInfo = this.mediaModule.getOpeningMediaChannelForNodeId(nodeId); | 416 | let openingChannelInfo = this.mediaModule.getOpeningMediaChannelForNodeId(nodeId); |
| 411 | if (openingChannelInfo.channelId == 0) { | 417 | if (openingChannelInfo.channelId == 0) { |
| @@ -423,10 +429,6 @@ class VideoApe extends Ape { | @@ -423,10 +429,6 @@ class VideoApe extends Ape { | ||
| 423 | 429 | ||
| 424 | this.sendTableUpdateHandler(channelInfo); | 430 | this.sendTableUpdateHandler(channelInfo); |
| 425 | //递归检查,800毫秒之后执行 | 431 | //递归检查,800毫秒之后执行 |
| 426 | - clearTimeout(this.releaseTimeId); | ||
| 427 | - if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_ZHIBO&&GlobalConfig.isH5){ | ||
| 428 | - return; | ||
| 429 | - } | ||
| 430 | this.releaseTimeId = setTimeout(function () { | 432 | this.releaseTimeId = setTimeout(function () { |
| 431 | loger.warn(nodeId, "检查频道是否占用"); | 433 | loger.warn(nodeId, "检查频道是否占用"); |
| 432 | this._releaseNodeIdAllChannel(nodeId); | 434 | this._releaseNodeIdAllChannel(nodeId); |
| @@ -501,7 +503,10 @@ class VideoApe extends Ape { | @@ -501,7 +503,10 @@ class VideoApe extends Ape { | ||
| 501 | //已经离开课堂就不再做处理 | 503 | //已经离开课堂就不再做处理 |
| 502 | return; | 504 | return; |
| 503 | } | 505 | } |
| 504 | - | 506 | + if(GlobalConfig.classType==ApeConsts.CLASS_TYPE_ZHIBO&&GlobalConfig.isH5){ |
| 507 | + //直播时H5不做处理 | ||
| 508 | + return; | ||
| 509 | + } | ||
| 505 | let updateModelPdu = this.packPdu(_channelInfo, _channelInfo.channelId);//let updateModelPdu=this.packPdu({},ApeConsts.VIDEO_OBJ_TABLE_ID+2); | 510 | let updateModelPdu = this.packPdu(_channelInfo, _channelInfo.channelId);//let updateModelPdu=this.packPdu({},ApeConsts.VIDEO_OBJ_TABLE_ID+2); |
| 506 | 511 | ||
| 507 | if (updateModelPdu == null) { | 512 | if (updateModelPdu == null) { |
-
请 注册 或 登录 后发表评论