上麦更新底部操作栏
This commit is contained in:
@@ -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;
|
||||
}
|
||||
|
Reference in New Issue
Block a user