From d77031e55b26f1c5fa58be170a94f85c8f2fbea2 Mon Sep 17 00:00:00 2001
From: liyong <liyong@3mang.com>
Date: Wed, 20 Sep 2017 19:38:23 +0800
Subject: [PATCH] 1.修复老师的视频显示到学生区域的问题,原因是收到视频的时候用户列表中查找不到用户信息,所以按学生的处理

---
 src/EngineEntrance.js |  9 ++++++---
 src/apes/ConferApe.js | 11 ++++++-----
 src/apes/WebRtcApe.js |  4 ++--
 3 files changed, 14 insertions(+), 10 deletions(-)

diff --git a/src/EngineEntrance.js b/src/EngineEntrance.js
index d5d5830..233764a 100644
--- a/src/EngineEntrance.js
+++ b/src/EngineEntrance.js
@@ -62,7 +62,7 @@ export default class MessageEntrance extends Emiter {
   constructor() {
     super();
     //sdk 信息
-    GlobalConfig.sdkVersion = "v2.10.4.20170920";
+    GlobalConfig.sdkVersion = "v2.10.5.20170920";
     loger.warn("sdkVersion:" + GlobalConfig.sdkVersion);
 
     //设置
@@ -1291,8 +1291,11 @@ export default class MessageEntrance extends Emiter {
 
     //加入课堂成功,广播消息
     this._emit(MessageTypes.CLASS_JOIN_SUCCESS, joinClassSuccessCallBackData);
-    //加入音视频通话模块
-    this._joinChannel({channelId:GlobalConfig.channelId,channelKey:GlobalConfig.channelKey ,uid:GlobalConfig.userUid,info:""+GlobalConfig.userRole});
+
+    setTimeout(()=>{
+      //加入音视频通话模块,延迟一秒处理,因为视频需要根据用户列表信息来判断放的位置,太早的话用户列表没有数据
+      this._joinChannel({channelId:GlobalConfig.channelId,channelKey:GlobalConfig.channelKey ,uid:GlobalConfig.userUid,info:""+GlobalConfig.userRole});
+    },1000);
   }
 
   //切换MCU ->_param->{reConnect:false} //reConnect(是否立即替换当前的ip并且重新连接)
diff --git a/src/apes/ConferApe.js b/src/apes/ConferApe.js
index 969de87..66003e1 100644
--- a/src/apes/ConferApe.js
+++ b/src/apes/ConferApe.js
@@ -624,11 +624,6 @@ class ConferApe extends Ape {
       return;
     }
     loger.log('课堂模块初始完成->当前课堂状态:'+ GlobalConfig.classStatus,"recordStatus:"+GlobalConfig.recordStatus);
-    this.rosters={};
-    this.rosterLen=0;
-    GlobalConfig.rosterNumber=this.rosterLen;
-    GlobalConfig.rosters=this.rosters;
-
     this.timerCounter.addTimerCallBack(this.timerCounterUptate.bind(this), 1);
     this.startTimerCounter();
     this.startClass();
@@ -1239,6 +1234,12 @@ class ConferApe extends Ape {
     }
     return null;
   }
+  stopApe(){
+    this.rosters={};
+    this.rosterLen=0;
+    GlobalConfig.rosterNumber=this.rosterLen;
+    GlobalConfig.rosters=this.rosters;
+  }
 
 }
 
diff --git a/src/apes/WebRtcApe.js b/src/apes/WebRtcApe.js
index 1f54c3d..118894d 100644
--- a/src/apes/WebRtcApe.js
+++ b/src/apes/WebRtcApe.js
@@ -218,7 +218,7 @@ class WebRtcApe extends Emiter {
       let userName="";
       let userRole=""
       if(user){
-        userName=user.name||"";
+        userName=user.name||"unknow";
         userRole=user.userRole;
       }
       let nameDiv=`<div style="width:98%;height:20px; position: absolute; z-index: 1;left: 4px;overflow:hidden;font-size: 14px; color: #cccccc;display:${this.nameDisplay}">${userName}</div>`;
@@ -245,7 +245,7 @@ class WebRtcApe extends Emiter {
         stream.play(this.xdyRemote + stream.getId());
       }catch (err){
       }
-      if(user.deviceType==1||user.deviceType==2){
+      if(user&&(user.deviceType==1||user.deviceType==2)){
         this.remoteVideoList[user.nodeId]=stream;
       }
       console.log("移动端远程视频流集合->",this.remoteVideoList);
--
libgit2 0.24.0