上麦更新底部操作栏

This commit is contained in:
fengshuo
2021-11-04 20:56:54 +08:00
parent a53b1dcdbd
commit af51d8f9b0
3 changed files with 32 additions and 11 deletions

View File

@@ -8,8 +8,13 @@
#import "XPRoomMenuContainerView.h"
///Third
#import <Masonry/Masonry.h>
///Tool
#import "AccountInfoStorage.h"
///Model
#import "XPRoomMenuItem.h"
#import "MicroQueueModel.h"
#import "UserInfoModel.h"
#import "MicroStateModel.h"
///View
#import "XPRoomSendTextView.h"
@@ -60,14 +65,14 @@
break;
case XPRoomMenuItemType_Mic: {
[RtcManager instance].remoteMuted = !self.micButton.isSelected;
self.micButton.selected = [RtcManager instance].isRemoteMuted;
[RtcManager instance].localMuted = !self.micButton.isSelected;
self.micButton.selected = [RtcManager instance].isLocalMuted;
}
break;
case XPRoomMenuItemType_Voice: {
[RtcManager instance].localMuted = !self.voiceButton.isSelected;
self.voiceButton.selected = [RtcManager instance].isLocalMuted;
[RtcManager instance].remoteMuted = !self.voiceButton.isSelected;
self.voiceButton.selected = [RtcManager instance].isRemoteMuted;
}
break;
@@ -78,7 +83,14 @@
#pragma mark - RoomGuestDelegate
- (void)onMicroQueueUpdate:(NSMutableDictionary<NSString *,MicroQueueModel *> *)queue {
MicroQueueModel * model = [self findMySelfMicro:queue];
if (model) {
self.micButton.hidden = NO;
self.micButton.selected = model.microState.micState == MicroMicStateType_Close ? YES : [RtcManager instance].isLocalMuted;
self.micButton.enabled = model.microState.micState == MicroMicStateType_Open;
} else {
self.micButton.hidden = YES;
}
}
#pragma mark - Private Method
@@ -108,6 +120,17 @@
make.size.mas_equalTo(CGSizeMake(38, 38));
}];
}
- (MicroQueueModel *)findMySelfMicro:(NSMutableDictionary<NSString *,MicroQueueModel *> *)queue {
NSString * uid = [AccountInfoStorage instance].getUid;
for (MicroQueueModel * microModel in queue.allValues) {
if (microModel.userInfo && microModel.userInfo.uid == uid.integerValue) {
return microModel;
}
}
return nil;
}
#pragma mark - Getters And Setters
- (UIButton *)inputButton {
if (!_inputButton) {
@@ -129,8 +152,10 @@
_micButton = [UIButton buttonWithType:UIButtonTypeCustom];
[_micButton setImage:[UIImage imageNamed:@"room_menu_mic_open"] forState:UIControlStateNormal];
[_micButton setImage:[UIImage imageNamed:@"room_menu_mic_close"] forState:UIControlStateSelected];
[_micButton setImage:[UIImage imageNamed:@"room_menu_mic_close"] forState:UIControlStateDisabled | UIControlStateSelected];
_micButton.tag = XPRoomMenuItemType_Mic;
[_micButton addTarget:self action:@selector(menuButtonAction:) forControlEvents:UIControlEventTouchUpInside];
_micButton.hidden = YES;
}
return _micButton;
}