正在显示
2 个修改的文件
包含
41 行增加
和
6 行删除
| @@ -62,9 +62,9 @@ export default class MessageEntrance extends Emiter { | @@ -62,9 +62,9 @@ export default class MessageEntrance extends Emiter { | ||
| 62 | constructor() { | 62 | constructor() { |
| 63 | super(); | 63 | super(); |
| 64 | //sdk 信息 | 64 | //sdk 信息 |
| 65 | - GlobalConfig.sdkVersion = "v2.20.5.20171023"; | 65 | + GlobalConfig.sdkVersion = "v2.21.3.20171024"; |
| 66 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); | 66 | loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); |
| 67 | - | 67 | + console.log("sdkVersion:" + GlobalConfig.sdkVersion); |
| 68 | //设置 | 68 | //设置 |
| 69 | let locationProtocol= location.protocol; | 69 | let locationProtocol= location.protocol; |
| 70 | if(locationProtocol=="https:"){ | 70 | if(locationProtocol=="https:"){ |
| @@ -92,6 +92,7 @@ export default class MessageEntrance extends Emiter { | @@ -92,6 +92,7 @@ export default class MessageEntrance extends Emiter { | ||
| 92 | this.isGetFastestHlsPullCallback = false; //是否HLS拉流地址测试结束 | 92 | this.isGetFastestHlsPullCallback = false; //是否HLS拉流地址测试结束 |
| 93 | this.isGetFastestRsCallback = false; //是否录制回放HLS拉流地址测试结束 | 93 | this.isGetFastestRsCallback = false; //是否录制回放HLS拉流地址测试结束 |
| 94 | this.saveClassStatusTimer=0;//保存课堂数据的计时器间隔,防止同一瞬间多次提交 | 94 | this.saveClassStatusTimer=0;//保存课堂数据的计时器间隔,防止同一瞬间多次提交 |
| 95 | + this.joinChannelTimer=0;//加入音视频通道的间隔 | ||
| 95 | //全局的Error处理 | 96 | //全局的Error处理 |
| 96 | this.on(MessageTypes.MCU_ERROR, this._mcuErrorHandler.bind(this)); | 97 | this.on(MessageTypes.MCU_ERROR, this._mcuErrorHandler.bind(this)); |
| 97 | 98 | ||
| @@ -307,6 +308,8 @@ export default class MessageEntrance extends Emiter { | @@ -307,6 +308,8 @@ export default class MessageEntrance extends Emiter { | ||
| 307 | this.setDebugInfo = this._setDebugInfo.bind(this); //设置debug信息 | 308 | this.setDebugInfo = this._setDebugInfo.bind(this); //设置debug信息 |
| 308 | this.setOpenSendLogToServer = this._setOpenSendLogToServer.bind(this); //设置是否上报日志 | 309 | this.setOpenSendLogToServer = this._setOpenSendLogToServer.bind(this); //设置是否上报日志 |
| 309 | 310 | ||
| 311 | + this.reJoinChannel = this._reJoinChannel.bind(this); //重新加入频道 | ||
| 312 | + | ||
| 310 | this.addLog = this._addLog.bind(this); | 313 | this.addLog = this._addLog.bind(this); |
| 311 | this.addWarn = this._addWarn.bind(this); | 314 | this.addWarn = this._addWarn.bind(this); |
| 312 | this.addError = this._addError.bind(this); | 315 | this.addError = this._addError.bind(this); |
| @@ -1677,11 +1680,11 @@ export default class MessageEntrance extends Emiter { | @@ -1677,11 +1680,11 @@ export default class MessageEntrance extends Emiter { | ||
| 1677 | } | 1680 | } |
| 1678 | 1681 | ||
| 1679 | //离开视频通话频道 | 1682 | //离开视频通话频道 |
| 1680 | - if(GlobalConfig.deviceType==0||GlobalConfig.deviceType==3){ | 1683 | + /* if(GlobalConfig.deviceType==0||GlobalConfig.deviceType==3){ |
| 1681 | if(_webRtc){ | 1684 | if(_webRtc){ |
| 1682 | - _webRtc.leaveChannel();; | ||
| 1683 | - } | 1685 | + _webRtc.leaveChannel(); |
| 1684 | } | 1686 | } |
| 1687 | + }*/ | ||
| 1685 | 1688 | ||
| 1686 | //停止推流 | 1689 | //停止推流 |
| 1687 | if (_video_ape) { | 1690 | if (_video_ape) { |
| @@ -1712,6 +1715,8 @@ export default class MessageEntrance extends Emiter { | @@ -1712,6 +1715,8 @@ export default class MessageEntrance extends Emiter { | ||
| 1712 | _mcu.leaveMCU(); | 1715 | _mcu.leaveMCU(); |
| 1713 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3); | 1716 | GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_3); |
| 1714 | } | 1717 | } |
| 1718 | + //离开视频通话模块 | ||
| 1719 | + this._leaveChannel(); | ||
| 1715 | } | 1720 | } |
| 1716 | 1721 | ||
| 1717 | //获取课堂所有参数(20170727新规则) api/meeting/detail.do? flash中的接口文件是 getClassParam.do | 1722 | //获取课堂所有参数(20170727新规则) api/meeting/detail.do? flash中的接口文件是 getClassParam.do |
| @@ -2830,7 +2835,36 @@ export default class MessageEntrance extends Emiter { | @@ -2830,7 +2835,36 @@ export default class MessageEntrance extends Emiter { | ||
| 2830 | }); | 2835 | }); |
| 2831 | } | 2836 | } |
| 2832 | } | 2837 | } |
| 2838 | + /* | ||
| 2839 | + * 重新加入频道 | ||
| 2840 | + * */ | ||
| 2841 | + _reJoinChannel(_params){ | ||
| 2842 | + if(GlobalConfig.appId&&!GlobalConfig.openFlash){ | ||
| 2843 | + //先离开频道 | ||
| 2844 | + this._leaveChannel(); | ||
| 2845 | + //主讲人和老师可以设置旁录 | ||
| 2833 | 2846 | ||
| 2847 | + //加入之前先设置旁录地址,只有直播支持旁路(1路流) | ||
| 2848 | + if(_webRtc&&GlobalConfig.isTeachOrAssistant&&GlobalConfig.maxMediaChannels==1){ | ||
| 2849 | + let curTimestamp = new Date().getTime(); | ||
| 2850 | + let streamId=GlobalConfig.siteId+"_"+GlobalConfig.classId+"_"+GlobalConfig.userId+"_"+curTimestamp; | ||
| 2851 | + //传入固定的流Id | ||
| 2852 | + let publishData=this._getVideoPublishPath({streamId:streamId}); | ||
| 2853 | + loger.log("加入之前先设置旁录地址",publishData); | ||
| 2854 | + if(publishData&&publishData.code==0){ | ||
| 2855 | + _webRtc.setConfigPublisherUrl(publishData.publishUrl); | ||
| 2856 | + let m3u8Stream = _video_ape.getPlayVideoPath({"type": "m3u8", "streamId":streamId}); | ||
| 2857 | + let rtmpStream = _video_ape.getPlayVideoPath({"type": "rtmp", "streamId":streamId}); | ||
| 2858 | + _webRtc.setRtmpM3u8Path({m3u8Url:m3u8Stream.playUrl,rtmpUrl:rtmpStream.playUrl}); | ||
| 2859 | + } | ||
| 2860 | + } | ||
| 2861 | + clearTimeout(this.joinChannelTimer); | ||
| 2862 | + this.joinChannelTimer=setTimeout(()=>{ | ||
| 2863 | + //加入音视频通话模块,延迟一秒处理,因为视频需要根据用户列表信息来判断放的位置,太早的话用户列表没有数据 | ||
| 2864 | + this._joinChannel({channelId:GlobalConfig.channelId,channelKey:GlobalConfig.channelKey ,uid:GlobalConfig.userUid,info:""+GlobalConfig.userRole}); | ||
| 2865 | + },1600); | ||
| 2866 | + } | ||
| 2867 | + } | ||
| 2834 | /* | 2868 | /* |
| 2835 | * 加入视频通话 | 2869 | * 加入视频通话 |
| 2836 | * */ | 2870 | * */ |
| @@ -416,10 +416,11 @@ class WebRtcApe extends Emiter { | @@ -416,10 +416,11 @@ class WebRtcApe extends Emiter { | ||
| 416 | } | 416 | } |
| 417 | 417 | ||
| 418 | leaveChannel() { | 418 | leaveChannel() { |
| 419 | - loger.log("离开视频通话频道"); | 419 | + loger.log("调用离开视频通话频道->isPublish"+this.isPublish); |
| 420 | if (!this.client) { | 420 | if (!this.client) { |
| 421 | return; | 421 | return; |
| 422 | } | 422 | } |
| 423 | + this.unpublish(); | ||
| 423 | this.client.leave(() => { | 424 | this.client.leave(() => { |
| 424 | loger.log("离开视频通话频道->成功"); | 425 | loger.log("离开视频通话频道->成功"); |
| 425 | }, (err)=> { | 426 | }, (err)=> { |
-
请 注册 或 登录 后发表评论