正在显示
5 个修改的文件
包含
27 行增加
和
22 行删除
此 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.9.2.20170413", "author": "www.3mang.com"}; | 29 | +let _sdkInfo = {"version": "v.1.9.3.20170414", "author": "www.3mang.com"}; |
| 30 | 30 | ||
| 31 | //APE | 31 | //APE |
| 32 | let _sass; | 32 | let _sass; |
| @@ -38,14 +38,19 @@ MessageTypes.CHAT_RECEIVE ="chat_receive_message";// 'chat.receive'; | @@ -38,14 +38,19 @@ MessageTypes.CHAT_RECEIVE ="chat_receive_message";// 'chat.receive'; | ||
| 38 | MessageTypes.VIDEO_PLAY ="video_play";// 'video.play';//播放视频 | 38 | MessageTypes.VIDEO_PLAY ="video_play";// 'video.play';//播放视频 |
| 39 | MessageTypes.VIDEO_STOP ="video_stop"; //'video.stop';//停止视频 | 39 | MessageTypes.VIDEO_STOP ="video_stop"; //'video.stop';//停止视频 |
| 40 | MessageTypes.VIDEO_UPDATE ="video_update";// //这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) | 40 | MessageTypes.VIDEO_UPDATE ="video_update";// //这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) |
| 41 | -MessageTypes.VIDEO_BROADCAST= "video_broadcast";//'video.broadcast'; | 41 | +MessageTypes.VIDEO_BROADCAST= "video_broadcast";//'视频控制广播消息; |
| 42 | +MessageTypes.VIDEO_GET_PUBLISH_PATH= "video_get_publish_path";//获取视频推流地址 | ||
| 43 | +MessageTypes.VIDEO_PUBLISH_RESULT= "video_publish_result";//获取视频推流结果 | ||
| 44 | + | ||
| 45 | + | ||
| 42 | 46 | ||
| 43 | //音频模块事件定义 | 47 | //音频模块事件定义 |
| 44 | MessageTypes.AUDIO_PLAY ="audio_play";// 'audio.play';//播放 | 48 | MessageTypes.AUDIO_PLAY ="audio_play";// 'audio.play';//播放 |
| 45 | MessageTypes.AUDIO_STOP = "audio_stop";//'audio.stop';//停止 | 49 | MessageTypes.AUDIO_STOP = "audio_stop";//'audio.stop';//停止 |
| 46 | MessageTypes.AUDIO_UPDATE = "audio_update";//这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) | 50 | MessageTypes.AUDIO_UPDATE = "audio_update";//这个监听事件不能删除,需要通知课堂模块,检查channel占用(内部使用) |
| 47 | MessageTypes.AUDIO_BROADCAST= "audio_broadcast";//'audio.broadcast'; | 51 | MessageTypes.AUDIO_BROADCAST= "audio_broadcast";//'audio.broadcast'; |
| 48 | - | 52 | +MessageTypes.AUDIO_GET_PUBLISH_PATH= "audio_get_publish_path";//获取音频推流地址 |
| 53 | +MessageTypes.AUDIO_PUBLISH_RESULT= "audio_publish_result";//获取音频推流结果 | ||
| 49 | 54 | ||
| 50 | //文档模块事件定义 | 55 | //文档模块事件定义 |
| 51 | MessageTypes.DOC_DELETE="document_delete";//'document.delete';//删除文档 | 56 | MessageTypes.DOC_DELETE="document_delete";//'document.delete';//删除文档 |
| @@ -52,7 +52,9 @@ class AudioApe extends Ape { | @@ -52,7 +52,9 @@ class AudioApe extends Ape { | ||
| 52 | loger.warn(GlobalConfig.getCurrentStatus()); | 52 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 53 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"};; | 53 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"};; |
| 54 | } | 54 | } |
| 55 | - return this.mediaModule.getMediaPublishPath(_param); | 55 | + let result=this.mediaModule.getMediaPublishPath(_param); |
| 56 | + this._emit( MessageTypes.AUDIO_GET_PUBLISH_PATH,result); | ||
| 57 | + return result; | ||
| 56 | } | 58 | } |
| 57 | 59 | ||
| 58 | //获取当前所有频道信息 | 60 | //获取当前所有频道信息 |
| @@ -65,13 +67,15 @@ class AudioApe extends Ape { | @@ -65,13 +67,15 @@ class AudioApe extends Ape { | ||
| 65 | publishAudio(_param) { | 67 | publishAudio(_param) { |
| 66 | if(!this.mcu.connected){ | 68 | if(!this.mcu.connected){ |
| 67 | loger.warn(GlobalConfig.getCurrentStatus()); | 69 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 68 | - return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; | 70 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"已经断开连接!","mediaId":0}); |
| 71 | + return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接","mediaId":0}; | ||
| 69 | } | 72 | } |
| 70 | 73 | ||
| 71 | if (_param == null||_param.publishUrl == null) | 74 | if (_param == null||_param.publishUrl == null) |
| 72 | { | 75 | { |
| 73 | loger.warn('推流->参数错误', _param); | 76 | loger.warn('推流->参数错误', _param); |
| 74 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 77 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 78 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"参数错误!","mediaId":0}); | ||
| 75 | return {"code": ApeConsts.RETURN_FAILED, "data": "参数错误"}; | 79 | return {"code": ApeConsts.RETURN_FAILED, "data": "参数错误"}; |
| 76 | } | 80 | } |
| 77 | 81 | ||
| @@ -79,27 +83,22 @@ class AudioApe extends Ape { | @@ -79,27 +83,22 @@ class AudioApe extends Ape { | ||
| 79 | let needPublishChannelInfo=this.mediaModule.getNeedPublishMediaChannel(_param.publishUrl); | 83 | let needPublishChannelInfo=this.mediaModule.getNeedPublishMediaChannel(_param.publishUrl); |
| 80 | if(needPublishChannelInfo==null){ | 84 | if(needPublishChannelInfo==null){ |
| 81 | loger.warn('推流->推流数据已经无效', _param); | 85 | loger.warn('推流->推流数据已经无效', _param); |
| 86 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"推流数据已经无效!","mediaId":0}); | ||
| 82 | return {"code": ApeConsts.RETURN_FAILED, "data": "推流数据已经无效"}; | 87 | return {"code": ApeConsts.RETURN_FAILED, "data": "推流数据已经无效"}; |
| 83 | } | 88 | } |
| 84 | 89 | ||
| 85 | - /* //20170302 修改频道占用规则,同一个人可以推多路流,暂停下面的限制 | ||
| 86 | - //同一个nodeId只允许推一个流,如果已经推了就不能再推 | ||
| 87 | - if(this.mediaModule.getOpeningMediaChannel(GlobalConfig.nodeId)!=0){ | ||
| 88 | - loger.warn("publishAudio,已经存在一个流,不能再推"); | ||
| 89 | - return {"code": ApeConsts.RETURN_FAILED, "data": "已经存在一个流,不能再推","mediaChannels":this.mediaModule.mediaChannels}; | ||
| 90 | - }*/ | ||
| 91 | - | ||
| 92 | - | ||
| 93 | //判断当前是否还有空闲的channle | 90 | //判断当前是否还有空闲的channle |
| 94 | let freeChannel = this.mediaModule.getFreeMediaChannel(); | 91 | let freeChannel = this.mediaModule.getFreeMediaChannel(); |
| 95 | if (freeChannel == 0) { | 92 | if (freeChannel == 0) { |
| 96 | loger.warn("推流->不能再打开更多的设备"); | 93 | loger.warn("推流->不能再打开更多的设备"); |
| 94 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaId":0}); | ||
| 97 | return {"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaChannels":this.mediaModule.mediaChannels}; | 95 | return {"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaChannels":this.mediaModule.mediaChannels}; |
| 98 | } | 96 | } |
| 99 | 97 | ||
| 100 | //判断当前的频道是否已经占用 | 98 | //判断当前的频道是否已经占用 |
| 101 | if(this.mediaModule.checkChannelIsOpening(needPublishChannelInfo.channelId)){ | 99 | if(this.mediaModule.checkChannelIsOpening(needPublishChannelInfo.channelId)){ |
| 102 | loger.warn(needPublishChannelInfo.channelId,"频道已经被占用"); | 100 | loger.warn(needPublishChannelInfo.channelId,"频道已经被占用"); |
| 101 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaId":0}); | ||
| 103 | return {"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!"}; | 102 | return {"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!"}; |
| 104 | } | 103 | } |
| 105 | 104 | ||
| @@ -111,6 +110,7 @@ class AudioApe extends Ape { | @@ -111,6 +110,7 @@ class AudioApe extends Ape { | ||
| 111 | channelInfo.timestamp=needPublishChannelInfo.timestamp;//EngineUtils.creatTimestamp(); | 110 | channelInfo.timestamp=needPublishChannelInfo.timestamp;//EngineUtils.creatTimestamp(); |
| 112 | channelInfo.mediaType=ApeConsts.MEDIA_TYPE_AUDIO; | 111 | channelInfo.mediaType=ApeConsts.MEDIA_TYPE_AUDIO; |
| 113 | this.sendTableUpdateHandler(channelInfo); | 112 | this.sendTableUpdateHandler(channelInfo); |
| 113 | + this._emit( MessageTypes.AUDIO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}); | ||
| 114 | return {"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}; | 114 | return {"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}; |
| 115 | } | 115 | } |
| 116 | 116 |
| @@ -52,7 +52,9 @@ class VideoApe extends Ape { | @@ -52,7 +52,9 @@ class VideoApe extends Ape { | ||
| 52 | loger.warn(GlobalConfig.getCurrentStatus()); | 52 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 53 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"};; | 53 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"};; |
| 54 | } | 54 | } |
| 55 | - return this.mediaModule.getMediaPublishPath(_param); | 55 | + let result=this.mediaModule.getMediaPublishPath(_param); |
| 56 | + this._emit( MessageTypes.VIDEO_GET_PUBLISH_PATH,result); | ||
| 57 | + return result; | ||
| 56 | } | 58 | } |
| 57 | 59 | ||
| 58 | //获取当前所有频道信息 | 60 | //获取当前所有频道信息 |
| @@ -65,6 +67,7 @@ class VideoApe extends Ape { | @@ -65,6 +67,7 @@ class VideoApe extends Ape { | ||
| 65 | publishVideo(_param) { | 67 | publishVideo(_param) { |
| 66 | if(!this.mcu.connected){ | 68 | if(!this.mcu.connected){ |
| 67 | loger.warn(GlobalConfig.getCurrentStatus()); | 69 | loger.warn(GlobalConfig.getCurrentStatus()); |
| 70 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"已经断开连接!","mediaId":0}); | ||
| 68 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; | 71 | return {"code": ApeConsts.RETURN_FAILED, "data": "已经断开连接"}; |
| 69 | } | 72 | } |
| 70 | 73 | ||
| @@ -72,6 +75,7 @@ class VideoApe extends Ape { | @@ -72,6 +75,7 @@ class VideoApe extends Ape { | ||
| 72 | { | 75 | { |
| 73 | loger.warn('推流->参数错误', _param); | 76 | loger.warn('推流->参数错误', _param); |
| 74 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); | 77 | this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_APE_INTERFACE_PARAM_WRONG); |
| 78 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"参数错误!","mediaId":0}); | ||
| 75 | return {"code": ApeConsts.RETURN_FAILED, "data": "参数错误"}; | 79 | return {"code": ApeConsts.RETURN_FAILED, "data": "参数错误"}; |
| 76 | } | 80 | } |
| 77 | 81 | ||
| @@ -79,21 +83,15 @@ class VideoApe extends Ape { | @@ -79,21 +83,15 @@ class VideoApe extends Ape { | ||
| 79 | let needPublishChannelInfo=this.mediaModule.getNeedPublishMediaChannel(_param.publishUrl); | 83 | let needPublishChannelInfo=this.mediaModule.getNeedPublishMediaChannel(_param.publishUrl); |
| 80 | if(needPublishChannelInfo==null){ | 84 | if(needPublishChannelInfo==null){ |
| 81 | loger.warn('推流->推流数据已经无效', _param); | 85 | loger.warn('推流->推流数据已经无效', _param); |
| 86 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"推流数据已经无效!","mediaId":0}); | ||
| 82 | return {"code": ApeConsts.RETURN_FAILED, "data": "推流数据已经无效"}; | 87 | return {"code": ApeConsts.RETURN_FAILED, "data": "推流数据已经无效"}; |
| 83 | } | 88 | } |
| 84 | 89 | ||
| 85 | - /* //20170302 修改频道占用规则,同一个人可以推多路流,暂停下面的限制 | ||
| 86 | - | ||
| 87 | - //同一个nodeId只允许推一个流,如果已经推了就不能再推 | ||
| 88 | - if(this.mediaModule.getOpeningMediaChannel(GlobalConfig.nodeId)!=0){ | ||
| 89 | - loger.warn("publishVideo,已经存在一个流,不能再推"); | ||
| 90 | - return {"code": ApeConsts.RETURN_FAILED, "data": "已经存在一个流,不能再推"}; | ||
| 91 | - }*/ | ||
| 92 | - | ||
| 93 | //判断当前是否还有空闲的channle | 90 | //判断当前是否还有空闲的channle |
| 94 | let freeChannel = this.mediaModule.getFreeMediaChannel(); | 91 | let freeChannel = this.mediaModule.getFreeMediaChannel(); |
| 95 | if (freeChannel == 0) { | 92 | if (freeChannel == 0) { |
| 96 | loger.warn("推流->不能再打开更多的设备 "); | 93 | loger.warn("推流->不能再打开更多的设备 "); |
| 94 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"不能再打开更多的设备!","mediaId":0}); | ||
| 97 | return {"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaChannels":this.mediaModule.mediaChannels}; | 95 | return {"code": ApeConsts.RETURN_FAILED, "data": "不能再打开更多的设备","mediaChannels":this.mediaModule.mediaChannels}; |
| 98 | } | 96 | } |
| 99 | 97 | ||
| @@ -101,6 +99,7 @@ class VideoApe extends Ape { | @@ -101,6 +99,7 @@ class VideoApe extends Ape { | ||
| 101 | //判断当前的频道是否已经占用 | 99 | //判断当前的频道是否已经占用 |
| 102 | if(this.mediaModule.checkChannelIsOpening(needPublishChannelInfo.channelId)){ | 100 | if(this.mediaModule.checkChannelIsOpening(needPublishChannelInfo.channelId)){ |
| 103 | loger.warn(needPublishChannelInfo.channelId,"频道已经被占用"); | 101 | loger.warn(needPublishChannelInfo.channelId,"频道已经被占用"); |
| 102 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaId":0}); | ||
| 104 | return {"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaChannels":this.mediaModule.mediaChannels}; | 103 | return {"code": ApeConsts.RETURN_FAILED, "data":"频道已经被占用!","mediaChannels":this.mediaModule.mediaChannels}; |
| 105 | } | 104 | } |
| 106 | 105 | ||
| @@ -113,6 +112,7 @@ class VideoApe extends Ape { | @@ -113,6 +112,7 @@ class VideoApe extends Ape { | ||
| 113 | channelInfo.mediaType=ApeConsts.MEDIA_TYPE_VIDEO; | 112 | channelInfo.mediaType=ApeConsts.MEDIA_TYPE_VIDEO; |
| 114 | this.sendTableUpdateHandler(channelInfo); | 113 | this.sendTableUpdateHandler(channelInfo); |
| 115 | 114 | ||
| 115 | + this._emit( MessageTypes.VIDEO_PUBLISH_RESULT,{"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}); | ||
| 116 | return {"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}; | 116 | return {"code": ApeConsts.RETURN_SUCCESS, "data":"推流成功!","mediaId":needPublishChannelInfo.channelId}; |
| 117 | } | 117 | } |
| 118 | 118 |
-
请 注册 或 登录 后发表评论