李勇

1.人员信息中增加当前的MS服务器字段;2.MS自动选点的时间修改为2分钟;3.增加外部手动切换MS服务器

此 diff 太大无法显示。
... ... @@ -34,7 +34,7 @@ import mdetect from "mdetect";
import UTF8 from 'utf-8';
let loger = Loger.getLoger('McuClient');
let _sdkInfo = { "version": "v1.39.2.20170706", "author": "www.3mang.com" };
let _sdkInfo = { "version": "v1.40.0.20170706", "author": "www.3mang.com" };
//APE
let _sass;
... ... @@ -72,8 +72,6 @@ export default class MessageEntrance extends Emiter {
this.isGetFastestMcuCallback = false; //是否MCU选点结束
this.isGetFastestMsCallback = false; //是否MS选点结束
GlobalConfig.setCurrentStatus(GlobalConfig.statusCode_0);
//全局的Error处理
this.on(MessageTypes.MCU_ERROR, this._mcuErrorHandler.bind(this));
... ... @@ -160,7 +158,6 @@ export default class MessageEntrance extends Emiter {
this.joinClass = this._joinClass.bind(this);
this.leaveClass = this._leaveClass.bind(this);
this.getMcuClientStatus = this._getMcuClientStatus.bind(this);
//this.getClassDetail = this._getClassDetail;//停用
this.getClassStatusInfo = this._getClassStatusInfo.bind(this);
this.sendStartClass = this._sendStartClass.bind(this);
this.silenceClass = this._silenceClass.bind(this);
... ... @@ -253,7 +250,7 @@ export default class MessageEntrance extends Emiter {
this.setDeviceInfo = this._setDeviceInfo.bind(this); //设置设备信息(麦克风,摄像头等等.....)
this.setMessageDelay = this._setMessageDelay.bind(this); //设置是否延迟消息
this.switchServer = this._switchMcuIpHandler.bind(this); //切换mcu服务器
this.switchMediaServer = this._switchMsIpHandler.bind(this); //切换ms服务器
this.switchMediaServer = this._switchMediaServer.bind(this); //手动切换ms服务器
this.setDebugInfo = this._setDebugInfo.bind(this); //设置debug信息
}
_setDebugInfo(_data) {
... ... @@ -868,12 +865,29 @@ export default class MessageEntrance extends Emiter {
}
}*/
}
//手动切换MS -> {ip;"xxx.xx.xx","port":"xxxx"}
_switchMediaServer(_param){
if (GlobalConfig.isRecordPlayBack) {
//录制回放不做操作
loger.warn('录制回放->不能手动切换MS');
return;
}
if (_param && _param.ip) {
GlobalConfig.MS_PUBLISH_IP = _param.ip || "";
GlobalConfig.MS_PUBLISH_PORT = _param.port || "";
}
loger.warn('手动切换MS->',GlobalConfig.MS_PUBLISH_IP+":"+ GlobalConfig.MS_PUBLISH_PORT);
//更换完用户当前的MS地址,需要更新用户数据
if(_confer_ape){
_confer_ape.updateUserInfo();
}
}
//切换MS ->_param->{reConnect:false} //reConnect(是否立即替换当前的ip并且重新连接)
_switchMsIpHandler(_param) {
if (GlobalConfig.isRecordPlayBack) {
//录制回放不做操作
loger.log('录制回放->不进行MS动态选点');
loger.warn('录制回放->不进行MS动态选点');
return;
}
loger.log('MS->动态选点');
... ... @@ -901,6 +915,11 @@ export default class MessageEntrance extends Emiter {
if (_param && _param.reConnect == true) {
loger.log('MS->最新地址->', GlobalConfig.MSServerIP, GlobalConfig.MSServerPort);
}*/
//选点完成需要更新用户数据
if(_confer_ape){
_confer_ape.updateUserInfo();
}
loger.log('MS->最新地址->', GlobalConfig.MS_PUBLISH_IP, GlobalConfig.MS_PUBLISH_PORT);
} else {
//如果选点结束后获得的ip和当前的IP相同,不需要切换
... ...
... ... @@ -422,7 +422,7 @@ GlobalConfig.recordReplaytickValues = {}; // 滚动条关键点,用于快进
GlobalConfig.isAutoStartClass = 0; //是否自动开始上课 0-否 ;1 是
GlobalConfig.updateClassInfoDelay = 30; //(秒),每隔30秒同步一次课堂状态的并保存到Sass
GlobalConfig.msDynamicChooseIpDelay = 15; //(秒)MS动态选点的间隔
GlobalConfig.msDynamicChooseIpDelay = 60*3; //(秒)MS动态选点的间隔
//GlobalConfig.serverTimestamp=0;//当前的系统时间戳 用get set 获取
GlobalConfig.activeDocId = 0; //当前激活的文档ID
... ...
... ... @@ -140,6 +140,9 @@ class ConferApe extends Ape {
nodeInfoRecordPdu.msList.push(msListItemPdu);
}
}
//用户当前选择的MS
nodeInfoRecordPdu.msIpPort=GlobalConfig.MS_PUBLISH_IP+":"+GlobalConfig.MS_PUBLISH_PORT;
return nodeInfoRecordPdu;
}
... ...
... ... @@ -911,6 +911,7 @@ message RCNodeInfoRecordPdu {
optional string isp=28;
repeated MsListItemPdu msList = 29;
optional string selfSilence = 30;
optional string msIpPort = 31;
}
message RCVotingPollSettingsPdu {
... ...