正在显示
3 个修改的文件
包含
31 行增加
和
12 行删除
此 diff 太大无法显示。
| @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil'; | @@ -26,7 +26,7 @@ import ArrayBufferUtil from 'libs/ArrayBufferUtil'; | ||
| 26 | import UTF8 from 'utf-8'; | 26 | import UTF8 from 'utf-8'; |
| 27 | 27 | ||
| 28 | let loger = Loger.getLoger('MessageEntrance'); | 28 | let loger = Loger.getLoger('MessageEntrance'); |
| 29 | -let _sdkInfo = {"version": "v.1.8.5.20170331-1", "author": "www.3mang.com"}; | 29 | +let _sdkInfo = {"version": "v.1.8.6.20170401-2", "author": "www.3mang.com"}; |
| 30 | 30 | ||
| 31 | //APE | 31 | //APE |
| 32 | let _sass; | 32 | let _sass; |
| @@ -144,9 +144,6 @@ class ConferApe extends Ape { | @@ -144,9 +144,6 @@ class ConferApe extends Ape { | ||
| 144 | loger.warn(GlobalConfig.getCurrentStatus()); | 144 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 145 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; | 145 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; |
| 146 | } | 146 | } |
| 147 | - // to, message | ||
| 148 | - loger.log('发送录制消息.', _param); | ||
| 149 | - | ||
| 150 | if (_param == null) { | 147 | if (_param == null) { |
| 151 | loger.warn("控制录制状的消息发送失败,参数错误", _param); | 148 | loger.warn("控制录制状的消息发送失败,参数错误", _param); |
| 152 | return; | 149 | return; |
| @@ -172,6 +169,8 @@ class ConferApe extends Ape { | @@ -172,6 +169,8 @@ class ConferApe extends Ape { | ||
| 172 | conferRecordSendPdu.classTime = GlobalConfig.classTimestamp; | 169 | conferRecordSendPdu.classTime = GlobalConfig.classTimestamp; |
| 173 | conferRecordSendPdu.filename = GlobalConfig.recordFileName || GlobalConfig.classId + "_" + EngineUtils.creatTimestampYMD() + ".rec"; | 170 | conferRecordSendPdu.filename = GlobalConfig.recordFileName || GlobalConfig.classId + "_" + EngineUtils.creatTimestampYMD() + ".rec"; |
| 174 | this.sendChatUniform(conferRecordSendPdu); | 171 | this.sendChatUniform(conferRecordSendPdu); |
| 172 | + // to, message | ||
| 173 | + loger.warn('发送录制消息-》', _param); | ||
| 175 | } | 174 | } |
| 176 | 175 | ||
| 177 | //开启录制 | 176 | //开启录制 |
| @@ -193,13 +192,22 @@ class ConferApe extends Ape { | @@ -193,13 +192,22 @@ class ConferApe extends Ape { | ||
| 193 | } | 192 | } |
| 194 | 193 | ||
| 195 | //停止录制 | 194 | //停止录制 |
| 196 | - stopRecord() { | 195 | + stopRecord(isForce) { |
| 197 | loger.log('stopRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus); | 196 | loger.log('stopRecord', "isHost", GlobalConfig.isHost, "recordStatus", GlobalConfig.recordStatus); |
| 198 | - //如果是host,并且当前正在录制中 | ||
| 199 | - if (GlobalConfig.isHost && GlobalConfig.recordStatus) { | ||
| 200 | - GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); | ||
| 201 | - this.sendConferRecordMsg({"recordStatus": false}); | ||
| 202 | - this._emit(MessageTypes.CLASS_STATUS_INFO_CHANGE); | 197 | + if(isForce&&isForce==true){ |
| 198 | + //强制停止,可以是host之外的身份(比如当前课堂老师异常退出,没有老师,会随机选择一个人来做释放操作) | ||
| 199 | + if (GlobalConfig.recordStatus) { | ||
| 200 | + GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); | ||
| 201 | + this.sendConferRecordMsg({"recordStatus": false}); | ||
| 202 | + this._emit(MessageTypes.CLASS_STATUS_INFO_CHANGE); | ||
| 203 | + } | ||
| 204 | + }else { | ||
| 205 | + //身份是host,并且当前正在录制中 | ||
| 206 | + if (GlobalConfig.isHost && GlobalConfig.recordStatus) { | ||
| 207 | + GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); | ||
| 208 | + this.sendConferRecordMsg({"recordStatus": false}); | ||
| 209 | + this._emit(MessageTypes.CLASS_STATUS_INFO_CHANGE); | ||
| 210 | + } | ||
| 203 | } | 211 | } |
| 204 | } | 212 | } |
| 205 | 213 | ||
| @@ -288,7 +296,6 @@ class ConferApe extends Ape { | @@ -288,7 +296,6 @@ class ConferApe extends Ape { | ||
| 288 | loger.warn('还没有开始,不能点暂停'); | 296 | loger.warn('还没有开始,不能点暂停'); |
| 289 | return; | 297 | return; |
| 290 | } | 298 | } |
| 291 | - | ||
| 292 | GlobalConfig.classStatus = ApeConsts.CLASS_STATUS_PAUSE; | 299 | GlobalConfig.classStatus = ApeConsts.CLASS_STATUS_PAUSE; |
| 293 | GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); | 300 | GlobalConfig.classStopTime = EngineUtils.creatTimestampStr(); |
| 294 | 301 | ||
| @@ -584,7 +591,10 @@ class ConferApe extends Ape { | @@ -584,7 +591,10 @@ class ConferApe extends Ape { | ||
| 584 | // 自己退出 | 591 | // 自己退出 |
| 585 | this._emit(MessageTypes.CLASS_EXIT); | 592 | this._emit(MessageTypes.CLASS_EXIT); |
| 586 | } else { | 593 | } else { |
| 587 | - loger.log(nodeId, "离开课堂"); | 594 | + let user=this.rosters[nodeId]; |
| 595 | + if(user){ | ||
| 596 | + loger.log(nodeId, "->离开课堂->身份->",user.role); | ||
| 597 | + } | ||
| 588 | delete this.rosters[nodeId]; | 598 | delete this.rosters[nodeId]; |
| 589 | this.emitRosterChange(); | 599 | this.emitRosterChange(); |
| 590 | this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId}); | 600 | this._emit(MessageTypes.CLASS_DELETE_ROSTER, {"nodeId": nodeId}); |
| @@ -592,12 +602,21 @@ class ConferApe extends Ape { | @@ -592,12 +602,21 @@ class ConferApe extends Ape { | ||
| 592 | //当前人员列表中抽一个人来检查离开人员是否占用频道 | 602 | //当前人员列表中抽一个人来检查离开人员是否占用频道 |
| 593 | for (let key in this.rosters) { | 603 | for (let key in this.rosters) { |
| 594 | let randNodeId = parseInt(key); | 604 | let randNodeId = parseInt(key); |
| 605 | + //如果抽到的人是自己就处理以下操作 | ||
| 595 | if (randNodeId == GlobalConfig.nodeId) { | 606 | if (randNodeId == GlobalConfig.nodeId) { |
| 596 | loger.log(randNodeId, "有权限检查离开的人员是否占用channel"); | 607 | loger.log(randNodeId, "有权限检查离开的人员是否占用channel"); |
| 597 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": nodeId}); | 608 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": nodeId}); |
| 609 | + //如果离开的人员是老师,需要暂停当前的课堂 | ||
| 610 | + | ||
| 611 | + if(user&&user.role==ApeConsts.NR_HOST){ | ||
| 612 | + this.pauseClass(); | ||
| 613 | + //强制停止录制 | ||
| 614 | + this.stopRecord(true); | ||
| 615 | + } | ||
| 598 | } else { | 616 | } else { |
| 599 | loger.warn(GlobalConfig.nodeId, "没有权限检查离开的人员是否占用channel"); | 617 | loger.warn(GlobalConfig.nodeId, "没有权限检查离开的人员是否占用channel"); |
| 600 | } | 618 | } |
| 619 | + //查找到一个就跳出操作 | ||
| 601 | return; | 620 | return; |
| 602 | } | 621 | } |
| 603 | } | 622 | } |
-
请 注册 或 登录 后发表评论