李勇

1.增加推流时是否可以继续推流的判断;2.修改推流和拉流过程中人员名称的显示

@@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter { @@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter {
62 constructor() { 62 constructor() {
63 super(); 63 super();
64 //sdk 信息 64 //sdk 信息
65 - GlobalConfig.sdkVersion = "v2.5.12.20170915"; 65 + GlobalConfig.sdkVersion = "v2.6.2.20170915";
66 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion); 66 loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
67 67
68 //设置 68 //设置
@@ -2799,6 +2799,14 @@ export default class MessageEntrance extends Emiter { @@ -2799,6 +2799,14 @@ export default class MessageEntrance extends Emiter {
2799 * 发布流 2799 * 发布流
2800 * */ 2800 * */
2801 _publishMedia(_params){ 2801 _publishMedia(_params){
  2802 + //判断是否能推流,当前课堂推流人数是有限制的
  2803 + let premission=GlobalConfig.getPublishPermission();
  2804 + loger.log("判断是否能推流->",premission);
  2805 + if(!premission&&GlobalConfig.userRole!=ApeConsts.invisible){
  2806 + loger.warn("不能再打开更多设备");
  2807 + this._emit(MessageTypes.MCU_ERROR, MessageTypes.ERR_WEBRTC_PUBLISH_FULL);
  2808 + return ;
  2809 + }
2802 //ios和安卓的只需要更新数据即可 2810 //ios和安卓的只需要更新数据即可
2803 if(GlobalConfig.deviceType==1||GlobalConfig.deviceType==2){ 2811 if(GlobalConfig.deviceType==1||GlobalConfig.deviceType==2){
2804 loger.log("调用webRtc推流"); 2812 loger.log("调用webRtc推流");
@@ -172,6 +172,24 @@ class GlobalConfig { @@ -172,6 +172,24 @@ class GlobalConfig {
172 static getUserInfoFromeNodeId(_nodeId){ 172 static getUserInfoFromeNodeId(_nodeId){
173 return this.rosters[_nodeId]; 173 return this.rosters[_nodeId];
174 } 174 }
  175 + //获取推流权限,需要检查当前是否可以继续推流
  176 + static getPublishPermission(){
  177 + if(!this.rosters){
  178 + return true;
  179 + }
  180 + let openCounter=0;
  181 + for (let i in this.rosters){
  182 + let item=this.rosters[i];
  183 + if(item&&(item.openCamera>0||item.openMicrophones>0)){
  184 + openCounter++;
  185 + //统计当前已经开启摄像头和麦克风的人数,如果当前开启的人数大于等于最大允许的数量就不允许其他人再打开
  186 + if(openCounter>=GlobalConfig.maxMediaChannels){
  187 + return false;
  188 + }
  189 + }
  190 + }
  191 + return true;
  192 + }
175 // 判断自己是否主持人角色 193 // 判断自己是否主持人角色
176 static get isHost() { 194 static get isHost() {
177 if (this.userRole == ApeConsts.host) { 195 if (this.userRole == ApeConsts.host) {
@@ -171,6 +171,9 @@ MessageTypes.ERR_INTERFACE_PARAMS_ERROR = 702; //调用的接口,传递的参 @@ -171,6 +171,9 @@ MessageTypes.ERR_INTERFACE_PARAMS_ERROR = 702; //调用的接口,传递的参
171 MessageTypes.ERR_MUSICSHARE_DELETE_FAILED = 720; //删除媒体共享文件失败 171 MessageTypes.ERR_MUSICSHARE_DELETE_FAILED = 720; //删除媒体共享文件失败
172 MessageTypes.ERR_MUSICSHARE_DELETE_FAILED_PARAM = 721; //删除媒体共享文件,参数错误 172 MessageTypes.ERR_MUSICSHARE_DELETE_FAILED_PARAM = 721; //删除媒体共享文件,参数错误
173 173
  174 +MessageTypes.ERR_WEBRTC_PUBLISH_FULL = 800; //webRtc推流人数已经满,不能再打开更多的设备推流
  175 +
  176 +
174 MessageTypes.ERR_INIT_RECORD_PLAY_BACK_FAILED = 910; //初始化录制回放失败 177 MessageTypes.ERR_INIT_RECORD_PLAY_BACK_FAILED = 910; //初始化录制回放失败
175 MessageTypes.ERR_GET_RECORD_PLAY_BACK_DATA_FAILED = 911; //获取录制回放数据失败 178 MessageTypes.ERR_GET_RECORD_PLAY_BACK_DATA_FAILED = 911; //获取录制回放数据失败
176 179
@@ -223,6 +226,8 @@ MessageTypes.ErrorReson[MessageTypes.ERR_SDK_FAILED] = "sdk还没初始化"; @@ -223,6 +226,8 @@ MessageTypes.ErrorReson[MessageTypes.ERR_SDK_FAILED] = "sdk还没初始化";
223 MessageTypes.ErrorReson[MessageTypes.ERR_INTERFACE_NONE] = "调用的接口不存在"; 226 MessageTypes.ErrorReson[MessageTypes.ERR_INTERFACE_NONE] = "调用的接口不存在";
224 MessageTypes.ErrorReson[MessageTypes.ERR_INTERFACE_PARAMS_ERROR] = "调用的接口,传递的参数不正确"; 227 MessageTypes.ErrorReson[MessageTypes.ERR_INTERFACE_PARAMS_ERROR] = "调用的接口,传递的参数不正确";
225 228
  229 +MessageTypes.ErrorReson[MessageTypes.ERR_WEBRTC_PUBLISH_FULL] = "已经达到最大推流数量,不能再打开更多设备";
  230 +
226 MessageTypes.ErrorReson[MessageTypes.ERR_INIT_RECORD_PLAY_BACK_FAILED] = "初始化录制回放失败"; 231 MessageTypes.ErrorReson[MessageTypes.ERR_INIT_RECORD_PLAY_BACK_FAILED] = "初始化录制回放失败";
227 MessageTypes.ErrorReson[MessageTypes.ERR_GET_RECORD_PLAY_BACK_DATA_FAILED] = "获取录制回放数据失败"; 232 MessageTypes.ErrorReson[MessageTypes.ERR_GET_RECORD_PLAY_BACK_DATA_FAILED] = "获取录制回放数据失败";
228 233
@@ -326,8 +326,7 @@ class WebRtcApe extends Emiter { @@ -326,8 +326,7 @@ class WebRtcApe extends Emiter {
326 this.localStream.close(); 326 this.localStream.close();
327 //$(this.localViewId).html(""); 327 //$(this.localViewId).html("");
328 $('#localVideoBox_' + this.uid).remove(); 328 $('#localVideoBox_' + this.uid).remove();
329 - $("videoOwnerName_"+this.uid).remove();  
330 - 329 + $("#videoOwnerName_"+this.uid).remove();
331 this.isPublish=false; 330 this.isPublish=false;
332 GlobalConfig.openCamera =0; 331 GlobalConfig.openCamera =0;
333 GlobalConfig.openMicrophones =0; 332 GlobalConfig.openMicrophones =0;