diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js
index 8620ffb..086be75 100644
--- a/src/EngineEntrance.js
+++ b/src/EngineEntrance.js
@@ -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);
}
diff --git a/src/apes/WebRtcApe.js b/src/apes/WebRtcApe.js
index 71a5310..b115d58 100644
--- a/src/apes/WebRtcApe.js
+++ b/src/apes/WebRtcApe.js
@@ -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);