李勇

1.增加课堂当前文件模块当前显示的模块id currentSceneTableId字段,增加接口sceneTableChange来更改课堂状态中的currentSceneTableId字段

此 diff 太大无法显示。
... ... @@ -32,7 +32,7 @@ import QuestionApe from 'apes/QuestionApe';
import UTF8 from 'utf-8';
let loger = Loger.getLoger('McuClient');
let _sdkInfo = {"version": "v1.34.2.20170615", "author": "www.3mang.com"};
let _sdkInfo = {"version": "v1.35.0.20170616", "author": "www.3mang.com"};
//APE
let _sass;
... ... @@ -154,6 +154,7 @@ export default class MessageEntrance extends Emiter {
this.changeHandUpStatus = this._changeHandUpStatus.bind(this);//自己切换举手状态
this.controlHandUpStatus = this._controlHandUpStatus.bind(this);//控制别人的举手状态
this.sceneTableChange = this._sceneTableChange.bind(this);//控制别人的举手状态
//录制回放
this.initRecordPlayback = this._initRecordPlayback.bind(this);
... ... @@ -944,6 +945,7 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL;
joinClassSuccessCallBackData.currentSceneTableId=GlobalConfig.currentSceneTableId;//文档区域的模块显示
loger.log('加入课堂成功->');
loger.log(joinClassSuccessCallBackData);
... ... @@ -1133,7 +1135,17 @@ export default class MessageEntrance extends Emiter {
_confer_ape.updateDeviceInfo(_param);
}
}
//文档-媒体共享-屏幕共享模块切换
_sceneTableChange(_param){
if (!_mcu.connected) {
loger.warn(GlobalConfig.getCurrentStatus());
return {"code": ApeConsts.RETURN_FAILED, "data": ""};
}
if (_confer_ape) {
_confer_ape.sceneTableChange(_param);
}
}
//举手状态控制
_controlHandUpStatus(_param){
if (!_mcu.connected) {
loger.warn(GlobalConfig.getCurrentStatus());
... ... @@ -1143,6 +1155,7 @@ export default class MessageEntrance extends Emiter {
_confer_ape.controlHandUpStatus(_param);
}
}
//举手状态切换
_changeHandUpStatus(_param){
if (!_mcu.connected) {
loger.warn(GlobalConfig.getCurrentStatus());
... ... @@ -1784,7 +1797,7 @@ export default class MessageEntrance extends Emiter {
joinClassSuccessCallBackData.videoQuality = GlobalConfig.videoQuality;
joinClassSuccessCallBackData.ssTunnelAppURL = GlobalConfig.ssTunnelAppURL;
joinClassSuccessCallBackData.currentSceneTableId=GlobalConfig.currentSceneTableId;//文档区域的模块显示
loger.log(joinClassSuccessCallBackData);
//和加入课堂成功使用同样的消息处理
this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData);
... ...
... ... @@ -57,6 +57,7 @@ class GlobalConfig {
classInfo.gop=this.gop;
classInfo.videoQuality=this.videoQuality;
classInfo.ssTunnelAppURL = this.ssTunnelAppURL;
classInfo.currentSceneTableId=this.currentSceneTableId;//文档区域的模块显示
return classInfo;
}
... ... @@ -87,6 +88,8 @@ class GlobalConfig {
classStatusInfo.serverTimestamp=this.serverTimestamp;//当前的系统时间戳
classStatusInfo.activeDocId=this.activeDocId;//当前激活的文档ID
classStatusInfo.activeDocCurPage=this.activeDocCurPage;//当前激活的文档的当前页
classStatusInfo.currentSceneTableId=this.currentSceneTableId;//文档区域的模块显示
return classStatusInfo;
}
//设置当前的课堂状态的信息
... ... @@ -129,6 +132,7 @@ class GlobalConfig {
this.recordTimestamp=data.recordTimestamp||this.recordTimestamp;//相对于首次开始录制的时间戳
this.recordFileName=data.recordFileName||this.recordFileName;//录制的文件名
this.recordDownloadUrl=data.recordDownloadUrl||this.recordDownloadUrl;//下载地址
this.currentSceneTableId=data.currentSceneTableId||0;//文档区域的模块显示
}
// 判断自己是否主持人角色
... ... @@ -416,6 +420,7 @@ GlobalConfig.activeDocCurPage=1;//当前激活的文档的当前页
GlobalConfig.activeMediaId=0;//当前显示的媒体文件的id
GlobalConfig.activeMediaSeek=1;//当前的媒体文件的播放进度seek点
GlobalConfig.currentSceneTableId=0;//文档区域的当前模块id显示的模块 0=文档模块、1=屏幕共享、2=媒体共享
GlobalConfig.classAllParam={};//Sass直接返回的所有课堂信息(最全)
GlobalConfig.classDetail={};//Sass直接返回的当前课堂基本信息
... ...
... ... @@ -424,7 +424,25 @@ class ConferApe extends Ape {
}
this.updateUserInfo();
}
//课堂的场景模块发送改变
sceneTableChange(_param){
if(GlobalConfig.isRecordPlayBack){
return;
}
loger.log('切换文档-媒体-屏幕模块切换->',_param);
//如果是host身份
if (GlobalConfig.isHost) {
if(_param){
GlobalConfig.currentSceneTableId=parseInt(_param.currentSceneTableId)||0;//当前场景显示的模块 0=文档模块、1=屏幕共享、2=媒体共享
//保存数据到Sass
this._emit(MessageTypes.CLASS_STATUS_INFO_CHANGE);
//同步消息给其他人
this.sendUpdaterClassStatusInfo({"actionType": 1,isStopAllPublishMedia:false});
}
}
}
//更新课堂信息
sendUpdaterClassStatusInfo(_param) {
//{"actionType": 1,isStopAllPublishMedia:false} //actionType课堂状态 isStopAllPublishMedia是否停止当前的所有推流
... ... @@ -915,7 +933,7 @@ class ConferApe extends Ape {
classStatusInfo.activeDocId = GlobalConfig.activeDocId;//当前激活的文档id
classStatusInfo.activeDocCurPage = GlobalConfig.activeDocCurPage;//当前激活的文档的当前页
classStatusInfo.isStopAllPublishMedia=_param.isStopAllPublishMedia||false;
classStatusInfo.currentSceneTableId=GlobalConfig.currentSceneTableId;
//loger.log("classStatusInfo--->", classStatusInfo);
/*
... ...
... ... @@ -989,6 +989,7 @@ message RCClassStatusInfoPdu {
optional uint32 active_doc_id=20;//当前激活的文档id
optional uint32 active_doc_cur_page=21;//当前激活的文档的当前页
optional bool isStopAllPublishMedia=22;//是否停止推流
optional uint32 currentSceneTableId=23;//文档区域的当前模块id
}
message RCConferenceRecordRequestPdu {
... ...