李勇

新增webRtc刷新重加频道之后自动开启视频的功能,如果刷新之前是正在开启的就会自动开启

... ... @@ -63,7 +63,7 @@ export default class MessageEntrance extends Emiter {
super();
this.lastClassActiveTime=0;//最后一次课堂激活的时间戳
//sdk 信息
GlobalConfig.sdkVersion = "v2.24.2.20171030";
GlobalConfig.sdkVersion = "v2.25.0.20171030";
loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
console.log("sdkVersion:" + GlobalConfig.sdkVersion);
//设置
... ... @@ -3011,6 +3011,12 @@ export default class MessageEntrance extends Emiter {
* */
_reJoinChannel(_params) {
if (GlobalConfig.appId && !GlobalConfig.openFlash) {
//获取当前用户的推流状态,重新加入频道之后如果之前正在推流,重连后需要自动重推
let isPublish=false;
if(_webRtc){
isPublish=_webRtc.isPublish||false;
}
loger.log("离开视频通话频道时的推流状态->"+isPublish);
//先离开频道
this._leaveChannel();
//主讲人和老师可以设置旁录
... ... @@ -3036,7 +3042,8 @@ export default class MessageEntrance extends Emiter {
channelId: GlobalConfig.channelId,
channelKey: GlobalConfig.channelKey,
uid: GlobalConfig.userUid,
info: "" + GlobalConfig.userRole
info: "" + GlobalConfig.userRole,
immediatePublish:isPublish
});
}, 1600);
}
... ...
... ... @@ -352,6 +352,10 @@ class WebRtcApe extends Emiter {
this.info = _params.info || "";
this.channelKey = _params.channelKey || null;
//记录加入频道成功之后是否立即推流,默认false
//一般只有在刷新重进频道的时候会用到
this.immediatePublish=_params.immediatePublish||false;
//根据不同身份设置不同的分辨率
if(GlobalConfig.isTeachOrAssistant){
if(GlobalConfig.maxMediaChannels==1){
... ... @@ -378,6 +382,15 @@ class WebRtcApe extends Emiter {
loger.log("加入视频通话频道->成功->channelId:" + this.channelId, "uid:" + this.uid);
this._emit(MessageTypes.WEB_RTC_JOIN_SUCCESS);
this.openLoaclStream();
//加入频道成功之后需要判断是否立即开启推流
if(this.immediatePublish==true){
loger.log("加入音视频频道成功->立刻开始推流->"+this.immediatePublish);
clearTimeout(this.rePublishDelay);
this.rePublishDelay=setTimeout(()=>{
this.publish();
},600);
}
}, (err)=> {
loger.error("加入视频通话频道->失败->", err);
this._emit(MessageTypes.WEB_RTC_JOIN_FAILED);
... ...