正在显示
6 个修改的文件
包含
57 行增加
和
7 行删除
此 diff 太大无法显示。
| @@ -27,7 +27,7 @@ import Server from "config/Server"; | @@ -27,7 +27,7 @@ import Server from "config/Server"; | ||
| 27 | import UTF8 from 'utf-8'; | 27 | import UTF8 from 'utf-8'; |
| 28 | 28 | ||
| 29 | let loger = Loger.getLoger('McuClient'); | 29 | let loger = Loger.getLoger('McuClient'); |
| 30 | -let _sdkInfo = {"version": "v1.15.2.20170507", "author": "www.3mang.com"}; | 30 | +let _sdkInfo = {"version": "v1.16.1.201705010", "author": "www.3mang.com"}; |
| 31 | 31 | ||
| 32 | //APE | 32 | //APE |
| 33 | let _sass; | 33 | let _sass; |
| @@ -105,11 +105,13 @@ export default class MessageEntrance extends Emiter { | @@ -105,11 +105,13 @@ export default class MessageEntrance extends Emiter { | ||
| 105 | _video_ape = new VideoApe(); | 105 | _video_ape = new VideoApe(); |
| 106 | _video_ape.on('*', (type, data) => this._emit(type, data)); | 106 | _video_ape.on('*', (type, data) => this._emit(type, data)); |
| 107 | _video_ape.on(MessageTypes.VIDEO_UPDATE, this.videoUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 | 107 | _video_ape.on(MessageTypes.VIDEO_UPDATE, this.videoUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 |
| 108 | + _video_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this));//监听摄像头和麦克风的开启状态 | ||
| 108 | 109 | ||
| 109 | 110 | ||
| 110 | _audio_ape = new AudioApe(); | 111 | _audio_ape = new AudioApe(); |
| 111 | _audio_ape.on('*', (type, data) => this._emit(type, data)); | 112 | _audio_ape.on('*', (type, data) => this._emit(type, data)); |
| 112 | _audio_ape.on(MessageTypes.AUDIO_UPDATE, this.audioUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 | 113 | _audio_ape.on(MessageTypes.AUDIO_UPDATE, this.audioUpdate.bind(this));//这个监听事件不能删除,需要通知课堂模块,检查channel占用 |
| 114 | + _audio_ape.on(MessageTypes.USER_DEVICE_STATUS_CHAANGE, this.userDeviecStatusChange.bind(this));//监听摄像头和麦克风的开启状态 | ||
| 113 | 115 | ||
| 114 | _whiteboard_ape = new WhiteBoardApe(); | 116 | _whiteboard_ape = new WhiteBoardApe(); |
| 115 | _whiteboard_ape.on('*', (type, data) => this._emit(type, data)); | 117 | _whiteboard_ape.on('*', (type, data) => this._emit(type, data)); |
| @@ -1034,6 +1036,19 @@ export default class MessageEntrance extends Emiter { | @@ -1034,6 +1036,19 @@ export default class MessageEntrance extends Emiter { | ||
| 1034 | } | 1036 | } |
| 1035 | } | 1037 | } |
| 1036 | 1038 | ||
| 1039 | + //监听摄像头麦克风状态 | ||
| 1040 | + userDeviecStatusChange(_data){ | ||
| 1041 | + /* nodeId:GlobalConfig.nodeId, | ||
| 1042 | + userRole:GlobalConfig.userRole, | ||
| 1043 | + userName:GlobalConfig.userName, | ||
| 1044 | + userId:GlobalConfig.userId, | ||
| 1045 | + openCamera:GlobalConfig.openCamera, | ||
| 1046 | + openMicrophones:GlobalConfig.openMicrophones*/ | ||
| 1047 | + if (_confer_ape) { | ||
| 1048 | + _confer_ape.updaterUserDeviecStatusChange(_data); | ||
| 1049 | + } | ||
| 1050 | + } | ||
| 1051 | + | ||
| 1037 | //VidoeApe | 1052 | //VidoeApe |
| 1038 | videoUpdate(_data) { | 1053 | videoUpdate(_data) { |
| 1039 | //视频同步的消息发送改变,需要通知ferApe模块中的用户更新状态 | 1054 | //视频同步的消息发送改变,需要通知ferApe模块中的用户更新状态 |
| @@ -39,6 +39,7 @@ MessageTypes.CLASS_RECORD_SUCCESS="class_record_success";////开启录制成功 | @@ -39,6 +39,7 @@ MessageTypes.CLASS_RECORD_SUCCESS="class_record_success";////开启录制成功 | ||
| 39 | MessageTypes.CHAT_RECEIVE ="chat_receive_message";// 'chat.receive'; | 39 | MessageTypes.CHAT_RECEIVE ="chat_receive_message";// 'chat.receive'; |
| 40 | 40 | ||
| 41 | //视频模块事件定义 | 41 | //视频模块事件定义 |
| 42 | +MessageTypes.USER_DEVICE_STATUS_CHAANGE ="user_device_status_change";// 'video.play';//播放视频 | ||
| 42 | MessageTypes.VIDEO_PLAY ="video_play";// 'video.play';//播放视频 | 43 | MessageTypes.VIDEO_PLAY ="video_play";// 'video.play';//播放视频 |
| 43 | MessageTypes.VIDEO_STOP ="video_stop"; //'video.stop';//停止视频 | 44 | MessageTypes.VIDEO_STOP ="video_stop"; //'video.stop';//停止视频 |
| 44 | MessageTypes.VIDEO_UPDATE ="video_update";// //这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) | 45 | MessageTypes.VIDEO_UPDATE ="video_update";// //这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) |
| @@ -375,7 +375,21 @@ class AudioApe extends Ape { | @@ -375,7 +375,21 @@ class AudioApe extends Ape { | ||
| 375 | }else { | 375 | }else { |
| 376 | loger.warn("消息是自己发送的或者是消息无效,不需要处理,消息内容如下:"); | 376 | loger.warn("消息是自己发送的或者是消息无效,不需要处理,消息内容如下:"); |
| 377 | loger.log(unpackChannelInfo); | 377 | loger.log(unpackChannelInfo); |
| 378 | - | 378 | + if(unpackChannelInfo.status==ApeConsts.CHANNEL_STATUS_OPENING){ |
| 379 | + GlobalConfig.openMicrophones=EngineUtils.creatTimestamp(); | ||
| 380 | + GlobalConfig.openCamera=0; | ||
| 381 | + }else { | ||
| 382 | + GlobalConfig.openCamera=0; | ||
| 383 | + GlobalConfig.openMicrophones=0; | ||
| 384 | + } | ||
| 385 | + this._emit(MessageTypes.USER_DEVICE_STATUS_CHAANGE,{ | ||
| 386 | + nodeId:GlobalConfig.nodeId, | ||
| 387 | + userRole:GlobalConfig.userRole, | ||
| 388 | + userName:GlobalConfig.userName, | ||
| 389 | + userId:GlobalConfig.userId, | ||
| 390 | + openCamera:GlobalConfig.openCamera, | ||
| 391 | + openMicrophones:GlobalConfig.openMicrophones | ||
| 392 | + }); | ||
| 379 | } | 393 | } |
| 380 | this._emit(MessageTypes.AUDIO_UPDATE, unpackChannelInfo); | 394 | this._emit(MessageTypes.AUDIO_UPDATE, unpackChannelInfo); |
| 381 | } | 395 | } |
| @@ -697,12 +697,12 @@ class ConferApe extends Ape { | @@ -697,12 +697,12 @@ class ConferApe extends Ape { | ||
| 697 | updaterRosterStatus(_param) { | 697 | updaterRosterStatus(_param) { |
| 698 | //loger.log("媒体模块发生更新,人员状态需要更新,fromNodeId->",_param); | 698 | //loger.log("媒体模块发生更新,人员状态需要更新,fromNodeId->",_param); |
| 699 | //如果视频消息中channel的占用人 fromNodeId在人员列表中不存在,需要释放这channel,因为这个有可能是之前没释放成功的 | 699 | //如果视频消息中channel的占用人 fromNodeId在人员列表中不存在,需要释放这channel,因为这个有可能是之前没释放成功的 |
| 700 | - /* if (_param && _param.status == ApeConsts.CHANNEL_STATUS_OPENING && this.rosters[_param.fromNodeId] == null) { | ||
| 701 | - loger.log("媒体模块被占用,占有人已经不存在课堂中,释放Channel,_param->", _param); | 700 | + if (_param && _param.status == ApeConsts.CHANNEL_STATUS_OPENING && this.rosters[_param.fromNodeId] == null) { |
| 701 | + loger.log("媒体模块被占用->占有人已经不存在课堂中->释放->", _param); | ||
| 702 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": _param.fromNodeId}); | 702 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": _param.fromNodeId}); |
| 703 | - }*/ | 703 | + } |
| 704 | 704 | ||
| 705 | - if (_param && _param.status == ApeConsts.CHANNEL_STATUS_OPENING) { | 705 | + /* if (_param && _param.status == ApeConsts.CHANNEL_STATUS_OPENING) { |
| 706 | if(this.rosters[_param.fromNodeId] == null){ | 706 | if(this.rosters[_param.fromNodeId] == null){ |
| 707 | loger.log("媒体模块被占用,占有人已经不存在课堂中,释放Channel,_param->", _param); | 707 | loger.log("媒体模块被占用,占有人已经不存在课堂中,释放Channel,_param->", _param); |
| 708 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": _param.fromNodeId}); | 708 | this._emit(MessageTypes.CLASS_NONENTITY_ROSTER, {"nodeId": _param.fromNodeId}); |
| @@ -727,7 +727,12 @@ class ConferApe extends Ape { | @@ -727,7 +727,12 @@ class ConferApe extends Ape { | ||
| 727 | GlobalConfig.openMicrophones=0; | 727 | GlobalConfig.openMicrophones=0; |
| 728 | this.updateUserInfo(); | 728 | this.updateUserInfo(); |
| 729 | } | 729 | } |
| 730 | - } | 730 | + }*/ |
| 731 | + } | ||
| 732 | + //设备状态更新 | ||
| 733 | + updaterUserDeviecStatusChange(_data){ | ||
| 734 | + loger.log("音视频设备状态更新->",_data); | ||
| 735 | + this.updateUserInfo(); | ||
| 731 | } | 736 | } |
| 732 | 737 | ||
| 733 | //删除用户 | 738 | //删除用户 |
| @@ -379,6 +379,21 @@ class VideoApe extends Ape { | @@ -379,6 +379,21 @@ class VideoApe extends Ape { | ||
| 379 | }else { | 379 | }else { |
| 380 | loger.warn("视频消息是自己发送的或者是视频消息无效,不需要处理,消息内容如下:"); | 380 | loger.warn("视频消息是自己发送的或者是视频消息无效,不需要处理,消息内容如下:"); |
| 381 | loger.log(unpackChannelInfo); | 381 | loger.log(unpackChannelInfo); |
| 382 | + if(unpackChannelInfo.status==ApeConsts.CHANNEL_STATUS_OPENING){ | ||
| 383 | + GlobalConfig.openCamera=EngineUtils.creatTimestamp(); | ||
| 384 | + GlobalConfig.openMicrophones=GlobalConfig.openCamera; | ||
| 385 | + }else { | ||
| 386 | + GlobalConfig.openCamera=0; | ||
| 387 | + GlobalConfig.openMicrophones=0; | ||
| 388 | + } | ||
| 389 | + this._emit(MessageTypes.USER_DEVICE_STATUS_CHAANGE,{ | ||
| 390 | + nodeId:GlobalConfig.nodeId, | ||
| 391 | + userRole:GlobalConfig.userRole, | ||
| 392 | + userName:GlobalConfig.userName, | ||
| 393 | + userId:GlobalConfig.userId, | ||
| 394 | + openCamera:GlobalConfig.openCamera, | ||
| 395 | + openMicrophones:GlobalConfig.openMicrophones | ||
| 396 | + }); | ||
| 382 | } | 397 | } |
| 383 | 398 | ||
| 384 | this._emit(MessageTypes.VIDEO_UPDATE, unpackChannelInfo); | 399 | this._emit(MessageTypes.VIDEO_UPDATE, unpackChannelInfo); |
-
请 注册 或 登录 后发表评论