1.增加画笔单人控制开启和禁用的功能;2.录制回放模块增加腾讯视频数据过滤,只播放m3u8l类型;3.个人信息中增加是否禁用画笔的字段selfDisEnableDrawTime
正在显示
10 个修改的文件
包含
96 行增加
和
7 行删除
doc/MCU_MS_APPCONFIG 配置.docx
0 → 100644
不能预览此文件类型
doc/MCU_MS_APPCONFIG 配置.txt
0 → 100644
| 1 | +market_webrtc_发布版 | ||
| 2 | +mcu/ms/rs服务器:腾讯云测试 | ||
| 3 | +appConfig: | ||
| 4 | +eyJhcHBJZCI6IjBmZTQ1YmJlYTU5YjRlZTU4NmM4ZGVkNjlmMmJjOGY3IiwiYXBwQ2VydGlmaWNhdGUiOiIiLCJhcHBSZWNvcmRpbmdLZXkiOiIiLCJyZWNvcmRJbnRlcmZhY2VzIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvUmVjb3JkaW5nIiwiZ2V0Q2hhbm5lbFRva2VuIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvZW5jcnlwdGlvblRva2VuIiwiZ2V0UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL2dldFJlY29yZEluZm8iLCJzdG9wUmVjb3JkaW5nSW50ZXJmYWNlcyI6Im5ldHdvcmtzY2hvb2wueHVlZGlhbnl1bi5jb20vc2VydmVyL3JlY29yZEluZm8vc3RvcFJlY29yZGluZyIsImdldFR4UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL3RlbmNlbnRSZWNvcmRJbmZvIn0= | ||
| 5 | + | ||
| 6 | + | ||
| 7 | +market_webrtc_测试版 | ||
| 8 | +mcu/ms/rs服务器:腾讯云测试 | ||
| 9 | +appConfig: eyJhcHBJZCI6ImViMjUzY2M3YjQwYzRhOGI4MmYwYTViNmY5M2MyY2UwIiwiYXBwQ2VydGlmaWNhdGUiOiIiLCJhcHBSZWNvcmRpbmdLZXkiOiIiLCJyZWNvcmRJbnRlcmZhY2VzIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvUmVjb3JkaW5nIiwiZ2V0Q2hhbm5lbFRva2VuIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvZW5jcnlwdGlvblRva2VuIiwiZ2V0UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL2dldFJlY29yZEluZm8iLCJzdG9wUmVjb3JkaW5nSW50ZXJmYWNlcyI6Im5ldHdvcmtzY2hvb2wueHVlZGlhbnl1bi5jb20vc2VydmVyL3JlY29yZEluZm8vc3RvcFJlY29yZGluZyIsImdldFR4UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL3RlbmNlbnRSZWNvcmRJbmZvIn0= | ||
| 10 | + | ||
| 11 | + | ||
| 12 | +market_flash_发布版 | ||
| 13 | +mcu/ms/rs服务器:腾讯云测试 | ||
| 14 | +appConfig: eyJhcHBJZCI6IjBmZTQ1YmJlYTU5YjRlZTU4NmM4ZGVkNjlmMmJjOGY3IiwiYXBwQ2VydGlmaWNhdGUiOiIiLCJhcHBSZWNvcmRpbmdLZXkiOiIiLCJyZWNvcmRJbnRlcmZhY2VzIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvUmVjb3JkaW5nIiwiZ2V0Q2hhbm5lbFRva2VuIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvZW5jcnlwdGlvblRva2VuIiwiZ2V0UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL2dldFJlY29yZEluZm8iLCJzdG9wUmVjb3JkaW5nSW50ZXJmYWNlcyI6Im5ldHdvcmtzY2hvb2wueHVlZGlhbnl1bi5jb20vc2VydmVyL3JlY29yZEluZm8vc3RvcFJlY29yZGluZyIsImdldFR4UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL3RlbmNlbnRSZWNvcmRJbmZvIn0= | ||
| 15 | + | ||
| 16 | + | ||
| 17 | +market_flash_测试版 | ||
| 18 | +mcu/ms/rs服务器:腾讯云测试 | ||
| 19 | +appConfig: eyJhcHBJZCI6ImViMjUzY2M3YjQwYzRhOGI4MmYwYTViNmY5M2MyY2UwIiwiYXBwQ2VydGlmaWNhdGUiOiIiLCJhcHBSZWNvcmRpbmdLZXkiOiIiLCJyZWNvcmRJbnRlcmZhY2VzIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvUmVjb3JkaW5nIiwiZ2V0Q2hhbm5lbFRva2VuIjoibmV0d29ya3NjaG9vbC54dWVkaWFueXVuLmNvbS9zZXJ2ZXIvdXNlcnMvZW5jcnlwdGlvblRva2VuIiwiZ2V0UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL2dldFJlY29yZEluZm8iLCJzdG9wUmVjb3JkaW5nSW50ZXJmYWNlcyI6Im5ldHdvcmtzY2hvb2wueHVlZGlhbnl1bi5jb20vc2VydmVyL3JlY29yZEluZm8vc3RvcFJlY29yZGluZyIsImdldFR4UmVjb3JkSW5mb0ludGVyZmFjZXMiOiJuZXR3b3Jrc2Nob29sLnh1ZWRpYW55dW4uY29tL3NlcnZlci9yZWNvcmRJbmZvL3RlbmNlbnRSZWNvcmRJbmZvIn0= |
doc/腾讯云测试JSON.txt
0 → 100644
| 1 | +{"RS_PULL":{"default":[{"port":"","ip":"playback.xuedianyun.com","name":"record","hlsSuffix":".m3u8","type":"live","rHlsSuffix":"/total.m3u8","publishSuffix":"9f2d3375619115d0115cc2692ede9947"}]},"HLS_PULL":{"default":[{"port":"","ip":"txlivepull.xuedianyun.com","name":"腾讯云","hlsSuffix":".m3u8","type":"live","rHlsSuffix":"/total.m3u8","publishSuffix":"9f2d3375619115d0115cc2692ede9947"}]},"MS":{"default":[{"port":"","ip":"txlivepush.xuedianyun.com","name":"腾讯云","hlsSuffix":".m3u8","type":"live","rHlsSuffix":"/total.m3u8","publishSuffix":"9f2d3375619115d0115cc2692ede9947"}]},"RTMP_PULL":{"default":[{"port":"","ip":"txlivepull.xuedianyun.com","name":"腾讯云","hlsSuffix":".m3u8","type":"live","rHlsSuffix":"/total.m3u8","publishSuffix":"9f2d3375619115d0115cc2692ede9947"}]},"MCU":{"美国":[{"port":"80","ip":"mcuglobal.xuedianyun.com","name":"美国"},{"port":"80","ip":"mcu.xuedianyun.com","name":"全球通"}],"default":[{"port":"80","ip":"mcuchina.xuedianyun.com","name":"中国"}],"中国":{"default":[{"port":"80","ip":"mcuchina.xuedianyun.com","name":"中国"},{"port":"80","ip":"mcu.xuedianyun.com","name":"全球通"}]}}} |
| @@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter { | @@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter { | ||
| 62 | constructor() { | 62 | constructor() { |
| 63 | super(); | 63 | super(); |
| 64 | //sdk 信息 | 64 | //sdk 信息 |
| 65 | - GlobalConfig.sdkVersion = "v2.12.14.20170927"; | 65 | + GlobalConfig.sdkVersion = "v2.13.5.20170927"; |
| 66 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); | 66 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); |
| 67 | 67 | ||
| 68 | //设置 | 68 | //设置 |
| @@ -200,6 +200,8 @@ export default class MessageEntrance extends Emiter { | @@ -200,6 +200,8 @@ export default class MessageEntrance extends Emiter { | ||
| 200 | this.controlHandUpStatus = this._controlHandUpStatus.bind(this); //控制别人的举手状态 | 200 | this.controlHandUpStatus = this._controlHandUpStatus.bind(this); //控制别人的举手状态 |
| 201 | this.controlSilenceStatus = this._controlSilenceStatus.bind(this); //改变禁言状态 | 201 | this.controlSilenceStatus = this._controlSilenceStatus.bind(this); //改变禁言状态 |
| 202 | 202 | ||
| 203 | + this.controlDrawStatus = this._controlDrawStatus.bind(this); //控制别人的是否可以使用画笔状态 | ||
| 204 | + | ||
| 203 | this.sceneTableChange = this._sceneTableChange.bind(this); //切换模块显示 | 205 | this.sceneTableChange = this._sceneTableChange.bind(this); //切换模块显示 |
| 204 | this.kickOutRosterFormNodeId = this._kickOutRosterFormNodeId.bind(this); //把指定nodeId的人踢出课堂 | 206 | this.kickOutRosterFormNodeId = this._kickOutRosterFormNodeId.bind(this); //把指定nodeId的人踢出课堂 |
| 205 | this.sendThridChannelMessage = this._sendThridChannelMessage.bind(this);//通道第三方消息通道发送消息 | 207 | this.sendThridChannelMessage = this._sendThridChannelMessage.bind(this);//通道第三方消息通道发送消息 |
| @@ -1621,7 +1623,19 @@ export default class MessageEntrance extends Emiter { | @@ -1621,7 +1623,19 @@ export default class MessageEntrance extends Emiter { | ||
| 1621 | _confer_ape.changeHandUpStatus(_param); | 1623 | _confer_ape.changeHandUpStatus(_param); |
| 1622 | } | 1624 | } |
| 1623 | } | 1625 | } |
| 1624 | - | 1626 | + /* |
| 1627 | + * 控制画笔使用状态 | ||
| 1628 | + * */ | ||
| 1629 | + _controlDrawStatus(_param){ | ||
| 1630 | + //{nodeId:333333,isDisEnableDraw:true} | ||
| 1631 | + if (!_mcu.connected) { | ||
| 1632 | + loger.warn(GlobalConfig.getCurrentStatus()); | ||
| 1633 | + return {"code": ApeConsts.RETURN_FAILED, "data": ""}; | ||
| 1634 | + } | ||
| 1635 | + if (_confer_ape) { | ||
| 1636 | + _confer_ape.controlDrawStatus(_param); | ||
| 1637 | + } | ||
| 1638 | + } | ||
| 1625 | //停止上课 | 1639 | //停止上课 |
| 1626 | _sendCloseClass(_param) { | 1640 | _sendCloseClass(_param) { |
| 1627 | if (!_mcu||!_mcu.connected) { | 1641 | if (!_mcu||!_mcu.connected) { |
| @@ -1683,6 +1697,11 @@ export default class MessageEntrance extends Emiter { | @@ -1683,6 +1697,11 @@ export default class MessageEntrance extends Emiter { | ||
| 1683 | loger.log('获取课堂课堂信息完成.',_data.appConfig); | 1697 | loger.log('获取课堂课堂信息完成.',_data.appConfig); |
| 1684 | //包含整个课堂最全的信息,储存数据 | 1698 | //包含整个课堂最全的信息,储存数据 |
| 1685 | if (_data) { | 1699 | if (_data) { |
| 1700 | + //老师默认启用画笔功能,其他身份默认禁用画笔功能 | ||
| 1701 | + if(GlobalConfig.userRole==ApeConsts.host){ | ||
| 1702 | + GlobalConfig.selfDisEnableDrawTime=0; | ||
| 1703 | + } | ||
| 1704 | + | ||
| 1686 | GlobalConfig.mcuDelay = _data.h5Delay || 0; //mcu消息延迟的时间间隔,单位(秒),结合客户端传的messageDelay的值使用 | 1705 | GlobalConfig.mcuDelay = _data.h5Delay || 0; //mcu消息延迟的时间间隔,单位(秒),结合客户端传的messageDelay的值使用 |
| 1687 | GlobalConfig.className = _data.meetingName || ""; | 1706 | GlobalConfig.className = _data.meetingName || ""; |
| 1688 | GlobalConfig.classBeginTime = _data.beginTime || ""; | 1707 | GlobalConfig.classBeginTime = _data.beginTime || ""; |
| @@ -494,6 +494,8 @@ GlobalConfig.handUpTime = 0; | @@ -494,6 +494,8 @@ GlobalConfig.handUpTime = 0; | ||
| 494 | GlobalConfig.level = 0; | 494 | GlobalConfig.level = 0; |
| 495 | GlobalConfig.openCamera = 0; | 495 | GlobalConfig.openCamera = 0; |
| 496 | GlobalConfig.openMicrophones = 0; | 496 | GlobalConfig.openMicrophones = 0; |
| 497 | +GlobalConfig.selfDisEnableDrawTime=1;//记录是否禁用画笔,0为启用画笔,大于0时被禁用的时间戳 | ||
| 498 | + | ||
| 497 | //视频质量相关设置 | 499 | //视频质量相关设置 |
| 498 | GlobalConfig.fps = 15; //帧频 | 500 | GlobalConfig.fps = 15; //帧频 |
| 499 | GlobalConfig.gop = 3; //关键帧间隔(秒) | 501 | GlobalConfig.gop = 3; //关键帧间隔(秒) |
| @@ -439,7 +439,9 @@ class RecordPlayBackParse extends Emiter { | @@ -439,7 +439,9 @@ class RecordPlayBackParse extends Emiter { | ||
| 439 | 439 | ||
| 440 | } | 440 | } |
| 441 | if(itemJson&&itemJson.video_url){ | 441 | if(itemJson&&itemJson.video_url){ |
| 442 | - MediaModule.streams[itemJson.stream_id]=itemJson.video_url; | 442 | + if(itemJson.video_url.indexOf(".m3u8")>0){ |
| 443 | + MediaModule.streams[itemJson.stream_id]=itemJson.video_url; | ||
| 444 | + } | ||
| 443 | } | 445 | } |
| 444 | } | 446 | } |
| 445 | } | 447 | } |
| @@ -26,7 +26,7 @@ ApeConsts.CLASS_ACTION_HANDUP_STATUS_CHANGE = 2; //更改用户的举手状态 | @@ -26,7 +26,7 @@ ApeConsts.CLASS_ACTION_HANDUP_STATUS_CHANGE = 2; //更改用户的举手状态 | ||
| 26 | ApeConsts.USER_ACTION_SILENCE_STATUS_CHANGE = 3; //更改用户的禁言状态 | 26 | ApeConsts.USER_ACTION_SILENCE_STATUS_CHANGE = 3; //更改用户的禁言状态 |
| 27 | ApeConsts.CLASS_ACTION_KICK_OUT_ROSTER=4; //指定的人踢出课堂 | 27 | ApeConsts.CLASS_ACTION_KICK_OUT_ROSTER=4; //指定的人踢出课堂 |
| 28 | ApeConsts.STOP_ALL_PUBLISH=5; //所有人停止推流 | 28 | ApeConsts.STOP_ALL_PUBLISH=5; //所有人停止推流 |
| 29 | - | 29 | +ApeConsts.CLASS_ACTION_DRAW_STATUS_CHANGE = 6; //更改用户的画笔状态 |
| 30 | 30 | ||
| 31 | //课堂类型 1:1v1(2路流) 2:直播(1路流) 3:小班课(可以多路流) | 31 | //课堂类型 1:1v1(2路流) 2:直播(1路流) 3:小班课(可以多路流) |
| 32 | ApeConsts.CLASS_TYPE_1 = 1; // 互动课堂,通过MS转发音视频,不能进行H5观看 1v1(2路流) | 32 | ApeConsts.CLASS_TYPE_1 = 1; // 互动课堂,通过MS转发音视频,不能进行H5观看 1v1(2路流) |
| @@ -107,6 +107,7 @@ class ConferApe extends Ape { | @@ -107,6 +107,7 @@ class ConferApe extends Ape { | ||
| 107 | nodeInfoRecordPdu.userData = GlobalConfig.userData; | 107 | nodeInfoRecordPdu.userData = GlobalConfig.userData; |
| 108 | nodeInfoRecordPdu.userId = GlobalConfig.userId; | 108 | nodeInfoRecordPdu.userId = GlobalConfig.userId; |
| 109 | nodeInfoRecordPdu.handUpTime = GlobalConfig.handUpTime; | 109 | nodeInfoRecordPdu.handUpTime = GlobalConfig.handUpTime; |
| 110 | + nodeInfoRecordPdu.selfDisEnableDrawTime = GlobalConfig.selfDisEnableDrawTime; | ||
| 110 | //nodeInfoRecordPdu.deviceType= GlobalConfig.deviceType; | 111 | //nodeInfoRecordPdu.deviceType= GlobalConfig.deviceType; |
| 111 | //nodeInfoRecordPdu.mobileDirection= GlobalConfig.mobileDirection; | 112 | //nodeInfoRecordPdu.mobileDirection= GlobalConfig.mobileDirection; |
| 112 | nodeInfoRecordPdu.microphones = GlobalConfig.microphones; | 113 | nodeInfoRecordPdu.microphones = GlobalConfig.microphones; |
| @@ -407,6 +408,18 @@ class ConferApe extends Ape { | @@ -407,6 +408,18 @@ class ConferApe extends Ape { | ||
| 407 | loger.warn('学生没有开启绘制的权限'); | 408 | loger.warn('学生没有开启绘制的权限'); |
| 408 | } | 409 | } |
| 409 | } | 410 | } |
| 411 | + //控制指定用户的画笔状态 | ||
| 412 | + changeUserDrawStatus(_param){ | ||
| 413 | + loger.log('控制指定用户的画笔状态->', _param); | ||
| 414 | + if (_param && _param.isDisEnableDraw == true) { | ||
| 415 | + //举手 | ||
| 416 | + GlobalConfig.selfDisEnableDrawTime=EngineUtils.creatTimestamp();//被禁用画笔的时间 | ||
| 417 | + } else { | ||
| 418 | + GlobalConfig.selfDisEnableDrawTime = 0; //取消禁用画笔 | ||
| 419 | + } | ||
| 420 | + this.updateUserInfo(); | ||
| 421 | + } | ||
| 422 | + | ||
| 410 | //开始上课 | 423 | //开始上课 |
| 411 | startClass(_param) { | 424 | startClass(_param) { |
| 412 | if (GlobalConfig.isHost) { | 425 | if (GlobalConfig.isHost) { |
| @@ -517,6 +530,25 @@ class ConferApe extends Ape { | @@ -517,6 +530,25 @@ class ConferApe extends Ape { | ||
| 517 | console.log(_param); | 530 | console.log(_param); |
| 518 | } | 531 | } |
| 519 | } | 532 | } |
| 533 | + //控制画笔的使用状态 | ||
| 534 | + controlDrawStatus(_param) { | ||
| 535 | + //控制用户的举手状态 | ||
| 536 | + if (!_param || !_param.nodeId) { | ||
| 537 | + loger.log('控制画笔的使用状态->失败->参数错误', _param); | ||
| 538 | + return; | ||
| 539 | + } | ||
| 540 | + let msgObj = {}; | ||
| 541 | + msgObj.nodeId = _param.nodeId; | ||
| 542 | + msgObj.isDisEnableDraw = false; | ||
| 543 | + if (_param && _param.isDisEnableDraw == true) { | ||
| 544 | + msgObj.isDisEnableDraw = true; | ||
| 545 | + } | ||
| 546 | + this.sendConferMsg({ | ||
| 547 | + "to": _param.nodeId, | ||
| 548 | + "message": JSON.stringify(msgObj), | ||
| 549 | + "actionType": ApeConsts.CLASS_ACTION_DRAW_STATUS_CHANGE | ||
| 550 | + }); | ||
| 551 | + } | ||
| 520 | 552 | ||
| 521 | //控制举手状态 | 553 | //控制举手状态 |
| 522 | controlHandUpStatus(_param) { | 554 | controlHandUpStatus(_param) { |
| @@ -612,7 +644,7 @@ class ConferApe extends Ape { | @@ -612,7 +644,7 @@ class ConferApe extends Ape { | ||
| 612 | let adapterPdu = new pdu['RCAdapterPdu']; | 644 | let adapterPdu = new pdu['RCAdapterPdu']; |
| 613 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; | 645 | adapterPdu.type = pdu.RCPDU_REG_ADAPTER; |
| 614 | adapterPdu.item.push(adapterItemPdu); | 646 | adapterPdu.item.push(adapterItemPdu); |
| 615 | - | 647 | + loger.log('发送更新课堂信息->'); |
| 616 | this.sendUniform(adapterPdu, true); | 648 | this.sendUniform(adapterPdu, true); |
| 617 | } | 649 | } |
| 618 | 650 | ||
| @@ -674,6 +706,8 @@ class ConferApe extends Ape { | @@ -674,6 +706,8 @@ class ConferApe extends Ape { | ||
| 674 | GlobalConfig.classTimestamp = GlobalConfig.classTimestamp + 1; //计时 | 706 | GlobalConfig.classTimestamp = GlobalConfig.classTimestamp + 1; //计时 |
| 675 | //向应用层更新当前课堂进行的时间长度 (秒) | 707 | //向应用层更新当前课堂进行的时间长度 (秒) |
| 676 | this._emit(MessageTypes.CLASS_UPDATE_TIMER, {"classTimestamp": GlobalConfig.classTimestamp}); | 708 | this._emit(MessageTypes.CLASS_UPDATE_TIMER, {"classTimestamp": GlobalConfig.classTimestamp}); |
| 709 | + | ||
| 710 | + /* 录制消息已经更新了数据,这个课堂内的就不需要再更新,间隔太短了频率太高 | ||
| 677 | //以一定的时间间隔同步课堂内所有人的累积上课时间 | 711 | //以一定的时间间隔同步课堂内所有人的累积上课时间 |
| 678 | if (GlobalConfig.classTimestamp % GlobalConfig.updateClassInfoDelay == 0) { | 712 | if (GlobalConfig.classTimestamp % GlobalConfig.updateClassInfoDelay == 0) { |
| 679 | //如果是host身份,需要同步时间给其他人,同时把当前的状态上传到服务器 | 713 | //如果是host身份,需要同步时间给其他人,同时把当前的状态上传到服务器 |
| @@ -683,7 +717,7 @@ class ConferApe extends Ape { | @@ -683,7 +717,7 @@ class ConferApe extends Ape { | ||
| 683 | //同步消息给其他人 | 717 | //同步消息给其他人 |
| 684 | this.sendUpdaterClassStatusInfo({"actionType": ApeConsts.CLASS_STATUS_STARTED, isStopAllPublishMedia: false}); | 718 | this.sendUpdaterClassStatusInfo({"actionType": ApeConsts.CLASS_STATUS_STARTED, isStopAllPublishMedia: false}); |
| 685 | } | 719 | } |
| 686 | - } | 720 | + }*/ |
| 687 | 721 | ||
| 688 | //进行MS动态选点,选择最快的MS服务器地址(录制回放不做处理) | 722 | //进行MS动态选点,选择最快的MS服务器地址(录制回放不做处理) |
| 689 | if (!GlobalConfig.isRecordPlayBack && GlobalConfig.classTimestamp % GlobalConfig.msDynamicChooseIpDelay == 0) { | 723 | if (!GlobalConfig.isRecordPlayBack && GlobalConfig.classTimestamp % GlobalConfig.msDynamicChooseIpDelay == 0) { |
| @@ -710,7 +744,6 @@ class ConferApe extends Ape { | @@ -710,7 +744,6 @@ class ConferApe extends Ape { | ||
| 710 | //MCU同步消息给其他人 | 744 | //MCU同步消息给其他人 |
| 711 | this.sendUpdaterClassStatusInfo({"actionType": GlobalConfig.classStatus, isStopAllPublishMedia: false}); | 745 | this.sendUpdaterClassStatusInfo({"actionType": GlobalConfig.classStatus, isStopAllPublishMedia: false}); |
| 712 | } | 746 | } |
| 713 | - | ||
| 714 | } | 747 | } |
| 715 | /* if (GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) { | 748 | /* if (GlobalConfig.classStatus == ApeConsts.CLASS_STATUS_STARTED) { |
| 716 | GlobalConfig.classTimestamp = GlobalConfig.classTimestamp + 1; //计时 | 749 | GlobalConfig.classTimestamp = GlobalConfig.classTimestamp + 1; //计时 |
| @@ -875,6 +908,17 @@ class ConferApe extends Ape { | @@ -875,6 +908,17 @@ class ConferApe extends Ape { | ||
| 875 | loger.warn('chatMsg->JSON数据解析失败'); | 908 | loger.warn('chatMsg->JSON数据解析失败'); |
| 876 | } | 909 | } |
| 877 | break; | 910 | break; |
| 911 | + case ApeConsts.CLASS_ACTION_DRAW_STATUS_CHANGE: | ||
| 912 | + let drawMsgObj = null; | ||
| 913 | + try { | ||
| 914 | + drawMsgObj = JSON.parse(chatMsg.message); | ||
| 915 | + if (drawMsgObj && drawMsgObj.nodeId == GlobalConfig.nodeId) { | ||
| 916 | + this.changeUserDrawStatus(drawMsgObj); | ||
| 917 | + } | ||
| 918 | + } catch (err) { | ||
| 919 | + loger.warn('chatMsg->JSON数据解析失败'); | ||
| 920 | + } | ||
| 921 | + break; | ||
| 878 | case ApeConsts.USER_ACTION_SILENCE_STATUS_CHANGE: | 922 | case ApeConsts.USER_ACTION_SILENCE_STATUS_CHANGE: |
| 879 | let silenceMsg = null; | 923 | let silenceMsg = null; |
| 880 | try { | 924 | try { |
| @@ -218,6 +218,7 @@ class MCU extends Emiter { | @@ -218,6 +218,7 @@ class MCU extends Emiter { | ||
| 218 | nodeInfoRecordPdu.role = ApeConsts.userTypesToId[this.classInfo.userRole] || 1; //NR_NORMAL用户的身份,根据用户登录时的身份设置 | 218 | nodeInfoRecordPdu.role = ApeConsts.userTypesToId[this.classInfo.userRole] || 1; //NR_NORMAL用户的身份,根据用户登录时的身份设置 |
| 219 | nodeInfoRecordPdu.level = 0; | 219 | nodeInfoRecordPdu.level = 0; |
| 220 | nodeInfoRecordPdu.handUpTime = 0; | 220 | nodeInfoRecordPdu.handUpTime = 0; |
| 221 | + nodeInfoRecordPdu.selfDisEnableDrawTime = 1; | ||
| 221 | nodeInfoRecordPdu.openCamera = 0; | 222 | nodeInfoRecordPdu.openCamera = 0; |
| 222 | nodeInfoRecordPdu.openMicrophones = 0; | 223 | nodeInfoRecordPdu.openMicrophones = 0; |
| 223 | nodeInfoRecordPdu.microphones = GlobalConfig.microphones; | 224 | nodeInfoRecordPdu.microphones = GlobalConfig.microphones; |
| @@ -928,6 +928,7 @@ message RCNodeInfoRecordPdu { | @@ -928,6 +928,7 @@ message RCNodeInfoRecordPdu { | ||
| 928 | optional string sdkVersion = 36;//SDK版本 | 928 | optional string sdkVersion = 36;//SDK版本 |
| 929 | optional uint32 micNoise=37; | 929 | optional uint32 micNoise=37; |
| 930 | optional bool autoGain=38; | 930 | optional bool autoGain=38; |
| 931 | + optional uint32 selfDisEnableDrawTime = 39; | ||
| 931 | } | 932 | } |
| 932 | 933 | ||
| 933 | message RCVotingPollSettingsPdu { | 934 | message RCVotingPollSettingsPdu { |
-
请 注册 或 登录 后发表评论