fix:修正部分问题
This commit is contained in:
@@ -38,7 +38,7 @@ typedef NS_ENUM(NSInteger, BackMusicPlayState) {
|
||||
///因为跨房pk结束后会闭麦,用这个限制不要关麦
|
||||
@property(nonatomic,assign) BOOL isAnckorPk;
|
||||
///因为最小化进房闭麦问题,用这个限制不要关麦
|
||||
@property(nonatomic,assign) BOOL isMiniEnterk;
|
||||
@property(nonatomic,assign) BOOL isMiniEnter;
|
||||
/**
|
||||
* 是否静音(静别人)
|
||||
* YES:🔇虽然你们麦位上在说话,但是我就是不听。🙉
|
||||
@@ -142,8 +142,6 @@ typedef NS_ENUM(NSInteger, BackMusicPlayState) {
|
||||
|
||||
- (NSInteger)loadUserSound;
|
||||
|
||||
- (void)resetToDefault;
|
||||
|
||||
@property (nonatomic,assign) BOOL broadcast;
|
||||
@end
|
||||
|
||||
|
@@ -160,10 +160,6 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
return [self.engine loadUserSound];
|
||||
}
|
||||
|
||||
- (void)resetToDefault {
|
||||
[self.engine updateUserSound:50];
|
||||
}
|
||||
|
||||
- (void)usersSpeaking:(NSMutableArray *)uids {
|
||||
if (self.engineDelegate) {
|
||||
[self.engineDelegate usersSpeaking:uids];
|
||||
|
@@ -17,8 +17,6 @@
|
||||
|
||||
@property (nonatomic, strong) VAPView *vapView;
|
||||
@property (nonatomic, strong) XPRoomGiftAnimationParser *vapParser;
|
||||
//@property (nonatomic, strong) Boom632Model *model;
|
||||
//@property (nonatomic, strong) BoomInfoModel *boomInfo;
|
||||
@property (nonatomic, assign) NSInteger seq;
|
||||
|
||||
@property (nonatomic, copy) NSString *countDownURLString;
|
||||
@@ -54,16 +52,15 @@
|
||||
|
||||
- (void)dealloc
|
||||
{
|
||||
if (self.seq != 2) {
|
||||
// 没有播放完就被移除,通知 manager
|
||||
[[RoomBoomManager sharedManager] explosionEnd];
|
||||
}
|
||||
|
||||
[self.vapView stopHWDMP4];
|
||||
[self.vapView removeFromSuperview];
|
||||
self.vapView = nil;
|
||||
}
|
||||
|
||||
- (void)handleEnd {
|
||||
[[RoomBoomManager sharedManager] explosionEnd];
|
||||
}
|
||||
|
||||
- (instancetype)initWithFrame:(CGRect)frame {
|
||||
if (self = [super initWithFrame:frame]) {
|
||||
|
||||
@@ -78,22 +75,12 @@
|
||||
return self;
|
||||
}
|
||||
|
||||
//- (void)setModel:(Boom632Model *)model {
|
||||
// _model = model;
|
||||
// self.countDownURLString = model.countDownVapUrl;
|
||||
// self.endURLString = model.endVapUrl;
|
||||
// [self play_count];
|
||||
//}
|
||||
//
|
||||
//- (void)setBoomInfo:(BoomInfoModel *)boomInfo {
|
||||
// _boomInfo = boomInfo;
|
||||
//}
|
||||
|
||||
- (void)play_count {
|
||||
self.seq = 1;
|
||||
|
||||
NSString *path = [self.countDownURLString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||
if (path.length == 0) {
|
||||
[self handleEnd];
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -106,7 +93,8 @@
|
||||
[self.vapView playHWDMP4:videoUrl repeatCount:0 delegate:self];
|
||||
}
|
||||
} failureBlock:^(NSError * _Nullable error) {
|
||||
|
||||
@kStrongify(self);
|
||||
[self handleEnd];
|
||||
}];
|
||||
}
|
||||
|
||||
@@ -114,6 +102,7 @@
|
||||
self.seq = 2;
|
||||
NSString *path = [self.endURLString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
|
||||
if (path.length == 0) {
|
||||
[self handleEnd];
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -126,7 +115,8 @@
|
||||
[self.vapView playHWDMP4:videoUrl repeatCount:0 delegate:self];
|
||||
}
|
||||
} failureBlock:^(NSError * _Nullable error) {
|
||||
|
||||
@kStrongify(self);
|
||||
[self handleEnd];
|
||||
}];
|
||||
}
|
||||
|
||||
@@ -154,6 +144,7 @@
|
||||
- (void)viewDidStopPlayMP4:(NSInteger)lastFrameIndex view:(VAPView *)container {
|
||||
|
||||
}
|
||||
|
||||
- (void)viewDidFailPlayMP4:(NSError *)error{
|
||||
@kWeakify(self);
|
||||
dispatch_async(dispatch_get_main_queue(), ^{
|
||||
|
@@ -269,6 +269,8 @@
|
||||
}
|
||||
[self.bannerEventsQueue addObject:attachment];
|
||||
|
||||
[self sortDataSource];
|
||||
|
||||
[self checkAndStartBoomEvent];
|
||||
[self checkAndStartBannerEvent];
|
||||
}
|
||||
@@ -282,6 +284,10 @@
|
||||
}
|
||||
}
|
||||
|
||||
- (void)sortDataSource {
|
||||
// TODO: boom 和 banner 有新数据时要重新排序
|
||||
}
|
||||
|
||||
- (void)handleProgressUpdate:(BoomDetailModel *)model {
|
||||
[self updateBoomDetail:model];
|
||||
|
||||
|
@@ -52,6 +52,7 @@
|
||||
- (NetImageView *)giftPic {
|
||||
if (!_giftPic) {
|
||||
_giftPic = [[NetImageView alloc] init];
|
||||
_giftPic.contentMode = UIViewContentModeScaleAspectFit;
|
||||
}
|
||||
return _giftPic;
|
||||
}
|
||||
|
@@ -348,7 +348,7 @@
|
||||
fail:^(NSInteger code, NSString * _Nullable msg) {
|
||||
|
||||
}
|
||||
showLoading:NO]
|
||||
showLoading:NO errorToast:NO]
|
||||
roomUid:roomUid];
|
||||
}
|
||||
|
||||
|
@@ -22,7 +22,7 @@
|
||||
///Model
|
||||
#import "UserInfoModel.h"
|
||||
#import "RoomInfoModel.h"
|
||||
|
||||
#import "BoomInfoModel.h"
|
||||
#import "AttachmentModel.h"
|
||||
#import "FirstRechargeModel.h"
|
||||
#import "TreasureFairyLimitModel.h"
|
||||
|
@@ -22,8 +22,6 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
- (void)menuResignFirstResponder;
|
||||
- (void)recheckMicState;
|
||||
|
||||
- (NSInteger)micState;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -37,6 +37,7 @@
|
||||
#import "SVGA.h"
|
||||
|
||||
#import "XPRoomMiniManager.h"
|
||||
#import "XPSkillCardPlayerManager.h"
|
||||
|
||||
UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
|
||||
@@ -79,8 +80,6 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
|
||||
@property (nonatomic, assign) BOOL isDisplayMicStatusControl;
|
||||
|
||||
@property (nonatomic, assign) NSInteger micStateType;
|
||||
|
||||
@end
|
||||
|
||||
|
||||
@@ -309,24 +308,24 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
[self micButtonUpdate:sender.tag];
|
||||
[self hideMicControlMenu];
|
||||
[XNDJTDDLoadingTool showErrorWithMessage:message];
|
||||
[[XPSkillCardPlayerManager shareInstance] setMicState:sender.tag];
|
||||
}
|
||||
|
||||
- (void)micButtonUpdate:(NSInteger)type {
|
||||
self.micStateType = type;
|
||||
switch (type) {
|
||||
case 1:
|
||||
case MICState_Open:
|
||||
// 开麦
|
||||
[self.micButton setImage:kImage(@"room_menu_mic_open") forState:UIControlStateNormal];
|
||||
break;
|
||||
case 2:
|
||||
case MICState_Close:
|
||||
// 闭麦
|
||||
[self.micButton setImage:kImage(@"room_menu_mic_close") forState:UIControlStateNormal];
|
||||
break;
|
||||
case 3:
|
||||
case MICState_Music:
|
||||
// 人声降为 0
|
||||
[self.micButton setImage:kImage(@"room_menu_mic_close_but_music") forState:UIControlStateNormal];
|
||||
break;
|
||||
@@ -337,16 +336,13 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
}
|
||||
|
||||
- (void)recheckMicState {
|
||||
if (self.micStateType == 3) {
|
||||
if ([XPSkillCardPlayerManager shareInstance].micState == MICState_Music) {
|
||||
[RtcManager instance].localMuted = NO;
|
||||
[[RtcManager instance] updateUserSoundWithUserInMic:0];
|
||||
[self micButtonUpdate:MICState_Music];
|
||||
}
|
||||
}
|
||||
|
||||
- (NSInteger)micState {
|
||||
return self.micStateType;
|
||||
}
|
||||
|
||||
#pragma mark - notification
|
||||
- (void)showGiftView:(NSNotification *)noti {
|
||||
NSDictionary *dict = noti.object;
|
||||
@@ -529,10 +525,13 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
[self micButtonUpdate:1];
|
||||
}
|
||||
|
||||
// 處理最小化進房
|
||||
NSInteger miniRoomMicState = [[XPRoomMiniManager shareManager] loadMicState];
|
||||
if (miniRoomMicState != -1) {
|
||||
[self micButtonUpdate:miniRoomMicState];
|
||||
if (model.microState.micState == MicroMicStateType_Open) {
|
||||
self.micButton.enabled = YES;
|
||||
[self recheckMicState];
|
||||
} else {
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
[self micButtonUpdate:MICState_None];
|
||||
self.micButton.enabled = NO;
|
||||
}
|
||||
|
||||
self.micButton.enabled = model.microState.micState == MicroMicStateType_Open;
|
||||
@@ -549,6 +548,16 @@ UIKIT_EXTERN NSString * kRoomBackMusicCaptureVolumeKey;
|
||||
- (void)onRoomEntered {
|
||||
NSInteger unreadCount = [[NIMSDK sharedSDK].conversationManager allUnreadCount];
|
||||
self.messageButton.selected = unreadCount > 0;
|
||||
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
|
||||
[self onRoomUpdate];
|
||||
}
|
||||
|
||||
- (void)onRoomMiniEntered {
|
||||
NSInteger unreadCount = [[NIMSDK sharedSDK].conversationManager allUnreadCount];
|
||||
self.messageButton.selected = unreadCount > 0;
|
||||
|
||||
[self onRoomUpdate];
|
||||
}
|
||||
|
||||
|
@@ -1000,11 +1000,6 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
///最小化进房 不需要请求任何接口 但是如果不加延迟的话 无法滚动到底部 原因还不知道
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.25 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
NSArray * temArray = [XPRoomMiniManager shareManager].getLocalCurrentRoomMessage;
|
||||
// 执行插入
|
||||
// for (NIMMessage *item in temArray) {
|
||||
// [self.datasource addObject:[self.messageParser parseMessageAttribute:item]];
|
||||
// }
|
||||
|
||||
[temArray enumerateObjectsUsingBlock:^(id _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
|
||||
if ([obj isKindOfClass:[NIMMessage class]]) {
|
||||
XPMessageInfoModel *model = [self.messageParser parseMessageAttribute:(NIMMessage *)obj];
|
||||
@@ -1018,7 +1013,6 @@ NSString * const kRoomShowTopicKey = @"kRoomShowTopicKey";
|
||||
}];
|
||||
|
||||
[self updateAllDataSource];
|
||||
|
||||
[self.messageTableView reloadData];
|
||||
//执行插入动画并滚动
|
||||
[self scrollToBottom:YES];
|
||||
|
@@ -76,11 +76,11 @@
|
||||
if (self) {
|
||||
_hostDelegate = delegate;
|
||||
_isMiniEnter = NO;
|
||||
[RtcManager instance].isMiniEnterk = self.hostDelegate.getIsMiniEnter;
|
||||
[RtcManager instance].isMiniEnter = self.hostDelegate.getIsMiniEnter;
|
||||
RoomInfoModel *roomInfo = self.hostDelegate.getRoomInfo;
|
||||
if (roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode ){
|
||||
if ([RtcManager instance].isAnckorPk == NO){
|
||||
if ([RtcManager instance].isMiniEnterk == NO){
|
||||
if ([RtcManager instance].isMiniEnter == NO){
|
||||
[RtcManager instance].localMuted = YES;
|
||||
}
|
||||
|
||||
@@ -549,7 +549,7 @@
|
||||
if (roomInfo.roomModeType != RoomModeType_Open_Blind){
|
||||
if (userInfo.isNoProhibitMic == NO){
|
||||
if (roomInfo.roomModeType != RoomModeType_Open_AcrossRoomPK_mode){
|
||||
if ([RtcManager instance].isMiniEnterk == NO){
|
||||
if ([RtcManager instance].isMiniEnter == NO){
|
||||
[RtcManager instance].localMuted = YES;
|
||||
}
|
||||
|
||||
@@ -557,7 +557,7 @@
|
||||
}
|
||||
}
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[RtcManager instance].isMiniEnterk = NO;
|
||||
[RtcManager instance].isMiniEnter = NO;
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@@ -810,8 +810,7 @@ UIKIT_EXTERN NSString *kRoomKickoutTime;
|
||||
|
||||
int captureVolum = (int)[defaults integerForKey:kRoomBackMusicCaptureVolumeKey];
|
||||
captureVolum = captureVolum > 0 ? captureVolum : 50;
|
||||
|
||||
|
||||
|
||||
self.currentMusic = music;
|
||||
self.currentIndex = index;
|
||||
NSString * documentsPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) firstObject];
|
||||
@@ -831,7 +830,7 @@ UIKIT_EXTERN NSString *kRoomKickoutTime;
|
||||
[self playNextMusic:self.currentIndex];
|
||||
}
|
||||
}];
|
||||
[[RtcManager instance] updateUserSound:captureVolum];
|
||||
// [[RtcManager instance] updateUserSound:captureVolum];
|
||||
[[RtcManager instance] updateMusicSound:musicVolum];
|
||||
}
|
||||
|
||||
@@ -850,7 +849,6 @@ UIKIT_EXTERN NSString *kRoomKickoutTime;
|
||||
if (!_backImageView) {
|
||||
_backImageView = [[UIImageView alloc] init];
|
||||
_backImageView.userInteractionEnabled = YES;
|
||||
// _backImageView.image = [UIImage imageNamed:@"room_mini_background"];
|
||||
}
|
||||
return _backImageView;
|
||||
}
|
||||
|
@@ -36,8 +36,7 @@ NS_ASSUME_NONNULL_BEGIN
|
||||
///最小化的时候也要保存一下当前播放的歌曲
|
||||
- (void)configCurrentMusic:(Music * _Nullable)roomInfo isPlaying:(BOOL)isPlaying;
|
||||
|
||||
- (void)saveMicState:(NSInteger)type;
|
||||
- (NSInteger)loadMicState;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
|
@@ -20,7 +20,6 @@
|
||||
///用户信息
|
||||
@property (nonatomic,strong) UserInfoModel *userInfo;
|
||||
|
||||
@property (nonatomic, assign) NSInteger micState;
|
||||
@end
|
||||
|
||||
@implementation XPRoomMiniManager
|
||||
@@ -30,7 +29,6 @@
|
||||
static XPRoomMiniManager *instance;
|
||||
dispatch_once(&onceToken, ^{
|
||||
instance = [[XPRoomMiniManager alloc] init];
|
||||
instance.micState = -1;
|
||||
});
|
||||
return instance;
|
||||
}
|
||||
@@ -81,7 +79,6 @@
|
||||
|
||||
- (void)resetLocalMessage {
|
||||
[self.messageArray removeAllObjects];
|
||||
self.micState = -1;
|
||||
}
|
||||
|
||||
- (NSMutableArray *)messageArray {
|
||||
@@ -91,15 +88,4 @@
|
||||
return _messageArray;
|
||||
}
|
||||
|
||||
|
||||
- (void)saveMicState:(NSInteger)type {
|
||||
self.micState = type;
|
||||
}
|
||||
|
||||
- (NSInteger)loadMicState {
|
||||
NSInteger state = self.micState;
|
||||
self.micState = -1;
|
||||
return state;
|
||||
}
|
||||
|
||||
@end
|
||||
|
@@ -296,12 +296,15 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[XPSkillCardPlayerManager shareInstance].isInRoomFirstRecharge = NO;
|
||||
[XPSkillCardPlayerManager shareInstance].isInRoom = NO;
|
||||
[XPSkillCardPlayerManager shareInstance].roomUid = @"";
|
||||
|
||||
|
||||
if([[XPRoomMiniManager shareManager] getRoomInfo]==nil){
|
||||
[XPSkillCardPlayerManager shareInstance].isMineInMic = NO;
|
||||
}
|
||||
|
||||
[[CountDownHelper shareHelper] stopCountDown];
|
||||
[CountDownHelper shareHelper].delegate = nil;
|
||||
|
||||
[[NIMSDK sharedSDK].chatroomManager removeDelegate:self];
|
||||
[[NIMSDK sharedSDK].chatManager removeDelegate:self];
|
||||
[[NIMSDK sharedSDK].loginManager removeDelegate:self];
|
||||
@@ -370,6 +373,7 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
|
||||
}];
|
||||
});
|
||||
[self.presenter getBoomDetail:self.roomUid];
|
||||
} target:self];
|
||||
|
||||
[[RoomBoomManager sharedManager] registerBoomGiftDisplay:^(id _Nonnull sth) {
|
||||
@@ -734,13 +738,18 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
|
||||
- (void)exitOldRoom {
|
||||
NSString * roomUid = [NSString stringWithFormat:@"%ld", [XPRoomMiniManager shareManager].getRoomInfo.uid];
|
||||
if (roomUid.integerValue > 0 && roomUid.integerValue != self.roomUid.integerValue) {
|
||||
//有最小化房间 并且要进入的房间和最小化的房间不一样的话 就先退掉 最小化的房间
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", [XPRoomMiniManager shareManager].getRoomInfo.roomId];
|
||||
[self.presenter exitNIMRoom:roomId];
|
||||
[[RtcManager instance] exitRoom];
|
||||
[[XPRoomMiniManager shareManager] resetLocalMessage];
|
||||
[self.presenter reportUserOutRoom:roomUid];
|
||||
if (roomUid.integerValue > 0) {
|
||||
if ([roomUid isEqualToString:self.roomUid]) {
|
||||
self.isMiniEnter = YES;
|
||||
} else {
|
||||
//有最小化房间 并且要进入的房间和最小化的房间不一样的话 就先退掉 最小化的房间
|
||||
NSString * roomId = [NSString stringWithFormat:@"%ld", [XPRoomMiniManager shareManager].getRoomInfo.roomId];
|
||||
[self.presenter exitNIMRoom:roomId];
|
||||
[[RtcManager instance] exitRoom];
|
||||
[[XPRoomMiniManager shareManager] resetLocalMessage];
|
||||
[self.presenter reportUserOutRoom:roomUid];
|
||||
[XPSkillCardPlayerManager shareInstance].micState = MICState_None;
|
||||
}
|
||||
}
|
||||
}
|
||||
-(BOOL)getIsMiniEnter{
|
||||
@@ -1136,20 +1145,21 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self changeStageViewOnRoomUpdate];
|
||||
[self.roomHeaderView onRoomEntered];
|
||||
[self.activityContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
[self.backContainerView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
if ([XPRoomMiniManager shareManager].getRoomInfo.uid != self.roomUid.integerValue) {// 最小化进房 还是原来的房间的话 不需要重新进入云信 因为压根没退
|
||||
[self.presenter enterNIMRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo];
|
||||
[self.functionView onRoomEntered];
|
||||
[self.messageContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
} else {
|
||||
//虽然没退出房间 但是队列还是要拿的
|
||||
[self.stageView onRoomMiniEntered];
|
||||
[self.messageContainerView onRoomMiniEntered];
|
||||
[self.functionView onRoomMiniEntered];
|
||||
[self.functionView onRoomEntered];
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
[self.menuContainerView onRoomMiniEntered];
|
||||
}
|
||||
[[XPRoomMiniManager shareManager] configRoomInfo:nil];
|
||||
[[XPRoomMiniManager shareManager] configUserInfo:nil];
|
||||
@@ -1207,20 +1217,21 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.roomHeaderView onRoomEntered];
|
||||
[self.activityContainerView onRoomEntered];
|
||||
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
[self.backContainerView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
if ([XPRoomMiniManager shareManager].getRoomInfo.uid != self.roomUid.integerValue) {// 最小化进房 还是原来的房间的话 不需要重新进入云信 因为压根没退
|
||||
[self.presenter enterNIMRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo];
|
||||
[self.functionView onRoomEntered];
|
||||
[self.messageContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
} else {
|
||||
//虽然没退出房间 但是队列还是要拿的
|
||||
[self.stageView onRoomMiniEntered];
|
||||
[self.messageContainerView onRoomMiniEntered];
|
||||
[self.functionView onRoomMiniEntered];
|
||||
[self.functionView onRoomEntered];
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
[self.menuContainerView onRoomMiniEntered];
|
||||
}
|
||||
[[XPRoomMiniManager shareManager] configRoomInfo:nil];
|
||||
[[XPRoomMiniManager shareManager] configUserInfo:nil];
|
||||
@@ -1289,7 +1300,7 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.roomHeaderView onRoomEntered];
|
||||
[self.activityContainerView onRoomEntered];
|
||||
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
[self.backContainerView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
|
||||
@@ -1298,6 +1309,7 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
if ([XPRoomMiniManager shareManager].getRoomInfo.uid != self.roomUid.integerValue) {
|
||||
[self.functionView onRoomEntered];
|
||||
[self.messageContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
// 通知云信重新进房
|
||||
[self.presenter enterNIMRoom:@(self.roomInfo.roomId).stringValue
|
||||
@@ -1308,16 +1320,15 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
|
||||
[self.functionView onRoomMiniEntered];
|
||||
[self.functionView onRoomEntered];
|
||||
// PK 状态下,从最小化进房需要模仿出事化房间,丢 2 次 roominfo 进去 functionView
|
||||
// [self.menuContainerView onRoomMiniEntered];
|
||||
// PK 状态下,从最小化进房需要模仿初始化房间,丢 2 次 roominfo 进去 functionView
|
||||
if (self.roomInfo.roomModeType == RoomModeType_Open_AcrossRoomPK_mode ||
|
||||
self.roomInfo.roomModeType == RoomModeType_Open_PK_Mode) {
|
||||
[self.functionView onRoomEntered];
|
||||
}
|
||||
|
||||
[self.messageContainerView onRoomMiniEntered];
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
}
|
||||
|
||||
[self cleanMiniRoomStatues];
|
||||
}
|
||||
|
||||
@@ -1402,6 +1413,8 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
} }
|
||||
break;
|
||||
}
|
||||
|
||||
[self.menuContainerView recheckMicState];
|
||||
}
|
||||
|
||||
- (void)openRoomSuccess:(RoomInfoModel *)roomInfo {
|
||||
@@ -1599,20 +1612,21 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.roomHeaderView onRoomEntered];
|
||||
[self.activityContainerView onRoomEntered];
|
||||
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
[self.backContainerView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
if ([XPRoomMiniManager shareManager].getRoomInfo.uid != self.roomUid.integerValue) {// 最小化进房 还是原来的房间的话 不需要重新进入云信 因为压根没退
|
||||
[self.presenter enterNIMRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo];
|
||||
[self.functionView onRoomEntered];
|
||||
[self.messageContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
} else {
|
||||
//虽然没退出房间 但是队列还是要拿的
|
||||
[self.stageView onRoomMiniEntered];
|
||||
[self.messageContainerView onRoomMiniEntered];
|
||||
[self.functionView onRoomMiniEntered];
|
||||
[self.functionView onRoomEntered];
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
[self.menuContainerView onRoomMiniEntered];
|
||||
}
|
||||
|
||||
[self cleanMiniRoomStatues];
|
||||
@@ -2208,6 +2222,8 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
}
|
||||
|
||||
- (void)exitRoom {
|
||||
[XPSkillCardPlayerManager shareInstance].micState = MICState_None;
|
||||
|
||||
[self.stageView exitRoom];
|
||||
[self.menuContainerView menuResignFirstResponder];
|
||||
[self.animationView resumeTimer];
|
||||
@@ -2326,8 +2342,6 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[XPRoomMiniManager shareManager].curState = self.freeModel.curStage;
|
||||
}
|
||||
|
||||
[[XPRoomMiniManager shareManager] saveMicState:[self.menuContainerView micState]];
|
||||
|
||||
[self.menuContainerView menuResignFirstResponder];
|
||||
[NSObject cancelPreviousPerformRequestsWithTarget:self selector:@selector(showRoomFirstChargeWindow) object:nil];
|
||||
NSDictionary *roomInfoDic = self.roomInfo.model2dictionary != nil ? self.roomInfo.model2dictionary : @{};
|
||||
@@ -2509,7 +2523,7 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.roomHeaderView onRoomEntered];
|
||||
[self.activityContainerView onRoomEntered];
|
||||
|
||||
[self.menuContainerView onRoomEntered];
|
||||
|
||||
[self.backContainerView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
[self.littleGameView onRoomEntered];
|
||||
@@ -2517,13 +2531,14 @@ XPCandyTreeInsufficientBalanceViewDelegate>
|
||||
[self.presenter enterNIMRoom:[NSString stringWithFormat:@"%ld", self.roomInfo.roomId] user:self.userInfo];
|
||||
[self.functionView onRoomEntered];
|
||||
[self.messageContainerView onRoomEntered];
|
||||
[self.menuContainerView onRoomEntered];
|
||||
} else {
|
||||
//虽然没退出房间 但是队列还是要拿的
|
||||
[self.stageView onRoomMiniEntered];
|
||||
[self.messageContainerView onRoomMiniEntered];
|
||||
[self.functionView onRoomMiniEntered];
|
||||
[self.functionView onRoomEntered];
|
||||
[[RtcManager instance] setLocalMuted:YES];
|
||||
[self.menuContainerView onRoomMiniEntered];
|
||||
}
|
||||
[[XPRoomMiniManager shareManager] configRoomInfo:nil];
|
||||
[[XPRoomMiniManager shareManager] configUserInfo:nil];
|
||||
|
@@ -8,6 +8,13 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <AVFoundation/AVFoundation.h>
|
||||
|
||||
typedef enum : NSUInteger {
|
||||
MICState_None = 0,
|
||||
MICState_Open = 1,
|
||||
MICState_Close = 2,
|
||||
MICState_Music = 3,
|
||||
} MICState;
|
||||
|
||||
@interface XPSkillCardPlayerManager : NSObject
|
||||
////获取已解锁照片id列表
|
||||
@property(nonatomic,strong) NSMutableArray *photoIdList;
|
||||
@@ -15,7 +22,6 @@
|
||||
@property (nonatomic, strong) AVAudioPlayer *player;
|
||||
///是否正在播放
|
||||
@property (nonatomic,assign) BOOL isPlay;
|
||||
|
||||
///播放音量大小
|
||||
@property (nonatomic, assign) CGFloat volume;
|
||||
@property (nonatomic,assign) BOOL isInRoomFirstRecharge;
|
||||
@@ -23,13 +29,16 @@
|
||||
@property (nonatomic,assign) BOOL isInRoom;
|
||||
///是否在房间控制器里,用于播放动画的判断
|
||||
@property (nonatomic,assign) BOOL isInRoomVC;
|
||||
|
||||
///是否在首充不弹出界面
|
||||
///所在房间的id
|
||||
@property (nonatomic,copy) NSString *roomUid;
|
||||
///我是否在上麦,在麦上时不能录音
|
||||
@property (nonatomic,assign) BOOL isMineInMic;
|
||||
|
||||
// 用户在 mic 的状态
|
||||
@property (nonatomic, assign) MICState micState;
|
||||
|
||||
|
||||
+ (instancetype)shareInstance ;
|
||||
|
||||
/**
|
||||
|
@@ -40,6 +40,10 @@
|
||||
return sharedInstance;
|
||||
}
|
||||
|
||||
- (void)setMicState:(MICState)micState {
|
||||
_micState = micState;
|
||||
}
|
||||
|
||||
- (void)playerVoiceWithPath:(NSString *)filePath completionBlock:(void (^)(void))completionBlock{
|
||||
[self playerMusicWithPath:filePath volume:1 loop:NO completionBlock:completionBlock];
|
||||
}
|
||||
|
Reference in New Issue
Block a user