Selaa lähdekoodia

修复网络教室video list列表偶现麦克风摄像头状态错误的问题

Steven 1 vuosi sitten
vanhempi
commit
28f9051e3b

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -6519,10 +6519,10 @@
 		BC71DEBB2A89F46E003F165E /* TXFullVideo */ = {
 			isa = PBXGroup;
 			children = (
-				BC71DEBC2A89F46E003F165E /* TXFullVideoCell.xib */,
 				BC71DEBD2A89F46E003F165E /* TXFullVideoCell.h */,
-				BC71DEBE2A89F46E003F165E /* TXFullVideoView.h */,
 				BC71DEBF2A89F46E003F165E /* TXFullVideoCell.m */,
+				BC71DEBC2A89F46E003F165E /* TXFullVideoCell.xib */,
+				BC71DEBE2A89F46E003F165E /* TXFullVideoView.h */,
 				BC71DEC02A89F46E003F165E /* TXFullVideoView.m */,
 			);
 			path = TXFullVideo;

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/TXFullVideo/TXFullVideoCell.h

@@ -20,7 +20,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (void)setModel:(RoomMember *)member displayUserId:(NSString *)displayUserId;
 
-- (void)renderVideo:(RoomMember *)member;
+//- (void)renderVideo:(RoomMember *)member;
 
 - (void)updateQuality:(TXNetWorkingStatus)quality;
 

+ 7 - 5
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/TXFullVideo/TXFullVideoCell.m

@@ -79,25 +79,27 @@
     if (member == nil) {
         return;
     }
+    RoomMember *currentMember = [[ClassroomService sharedService].currentRoom getMember:member.userId];
+
     if (member.userId == nil) {
         self.videoView.hidden = YES;
     }
     else {
-        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:[member.headUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:[currentMember.headUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
 
-        if ([member.userId isEqualToString:[ClassroomService sharedService].currentRoom.currentMember.userId]) {
+        if ([currentMember.userId isEqualToString:[ClassroomService sharedService].currentRoom.currentMember.userId]) {
             self.mineView.hidden = NO;
         }
         else {
             self.mineView.hidden = YES;
         }
-        [self remakeNameLable:member];
+        [self remakeNameLable:currentMember];
         
     }
-    if (![member.userId isEqualToString:displayUserId]) {
+    if (![currentMember.userId isEqualToString:displayUserId]) {
         [self renderVideo:member];
     }
-    BOOL isMicEnable = member.microphoneEnable;
+    BOOL isMicEnable = currentMember.microphoneEnable;
     NSString *imgName = @"";
     if (isMicEnable) {
         imgName = @"mic_on";

+ 3 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/TXFullVideo/TXFullVideoView.m

@@ -153,11 +153,13 @@
         for(int i = 0;i < self.videoDataSource.count; i++) {
             RoomMember *member = self.videoDataSource[i];
             if([member.userId isEqualToString:userId]) {
+                RoomMember *currentMember = [[ClassroomService sharedService].currentRoom getMember:userId];
+
                 NSIndexPath *index = [NSIndexPath indexPathForRow:i inSection:0];
                 dispatch_async(dispatch_get_main_queue(), ^{
                     TXFullVideoCell * cell = (TXFullVideoCell *)[self.videoView cellForItemAtIndexPath:index];
                     if (cell) {
-                        [cell updateUserVolume:volume isCloseMic:!member.microphoneEnable];
+                        [cell updateUserVolume:volume isCloseMic:!currentMember.microphoneEnable];
                     }
                 });
             }

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/VideoList/TXClassroomVideoListCell.h

@@ -21,7 +21,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 - (void)setModel:(RoomMember *)member showTeacherPrompt:(BOOL)teacherPrompt;
 
-- (void)renderVideo:(RoomMember *)member;
+//- (void)renderVideo:(RoomMember *)member;
 
 - (void)updateQuality:(TXNetWorkingStatus)quality;
 

+ 11 - 9
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/VideoList/TXClassroomVideoListCell.m

@@ -163,10 +163,12 @@
         self.mineView.hidden = YES;
     }
     else {
-        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:[member.headUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
-        self.userId = member.userId;
-        if ([member.userId isEqualToString:[ClassroomService sharedService].currentRoom.currentMember.userId]) {
-            [self remakeNameLable:member];
+        RoomMember *roomMember = [[ClassroomService sharedService].currentRoom getMember:member.userId];
+
+        [self.avatarView sd_setImageWithURL:[NSURL URLWithString:[roomMember.headUrl getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+        self.userId = roomMember.userId;
+        if ([roomMember.userId isEqualToString:[ClassroomService sharedService].currentRoom.currentMember.userId]) {
+            [self remakeNameLable:roomMember];
             self.mineView.hidden = NO;
             if (teacherPrompt) {
                 self.promptLable.text = @"讲师正在授课";
@@ -175,14 +177,14 @@
         }
         else {
             
-            [self remakeNameLable:member];
+            [self remakeNameLable:roomMember];
             
             // 判断是否显示举手按钮
-            self.handView.hidden = !member.handUpOn;
+            self.handView.hidden = !roomMember.handUpOn;
         }
-        if ([[ClassroomService sharedService].currentRoom.currentDisplayURI isEqualToString:member.userId]) {
+        if ([[ClassroomService sharedService].currentRoom.currentDisplayURI isEqualToString:roomMember.userId]) {
             self.videoView.hidden = YES;
-            if ([[ClassroomService sharedService].currentRoom.shareUserId isEqualToString:member.userId]) {
+            if ([[ClassroomService sharedService].currentRoom.shareUserId isEqualToString:roomMember.userId]) {
                 self.promptLable.text = @"演示中";
                 self.promptLable.hidden = NO;
             }
@@ -195,7 +197,7 @@
             self.videoView.hidden = NO;
         }
         
-        [self renderVideo:member];
+        [self renderVideo:roomMember];
 
     }
 }

+ 3 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/TXClassRoom/View/VideoList/TXClassroomVideoListView.m

@@ -164,11 +164,13 @@
         for(int i = 0;i < self.videoDataSource.count; i++) {
             RoomMember *member = self.videoDataSource[i];
             if([member.userId isEqualToString:userId]) {
+                RoomMember *roomMember = [[ClassroomService sharedService].currentRoom getMember:userId];
+
                 NSIndexPath *index = [NSIndexPath indexPathForRow:i inSection:0];
                 dispatch_async(dispatch_get_main_queue(), ^{
                     TXClassroomVideoListCell * cell = [self.videoListTableView cellForRowAtIndexPath:index];
                     if (cell) {
-                        [cell updateUserVolume:volume isCloseMic:!member.microphoneEnable];
+                        [cell updateUserVolume:volume isCloseMic:!roomMember.microphoneEnable];
                     }
                 });
             }