// // YOUPAILZMusicPlayView.m // YOUQU // // Created by CY on 2021/12/10. // Copyright © 2021 MS. All rights reserved. // #import "YOUPAILZMusicPlayView.h" @interface YOUPAILZMusicPlayView() //@property (nonatomic, weak) UIButton *youpaipnextBtn; // 下一首 @property (nonatomic, weak) UIButton *youpaipplayBtn; // 播放、暂停 //@property (nonatomic, weak) UIButton *youpaippreviousBtn; // 上一首 //@property (nonatomic, weak) UIImageView *youpaipmusicImgV; // 唱片 @property (nonatomic, weak) UIImageView *youpaipmusicImgV; @property (nonatomic, weak) UILabel *youpaipnotDataL; // 无数据 @property (nonatomic, weak) UIView *youpaipmusicInfoV; // 音乐信息 @property (nonatomic, weak) UILabel *youpaipsongNameL; // 歌曲名称 @property (nonatomic, weak) UILabel *youpaipsingerL; // 演唱者 @end @implementation YOUPAILZMusicPlayView - (instancetype)init{ if (self = [super init]) { [self youpaifinitUI]; } return self; } - (void)youpaifinitUI{ UIButton *youpaipnextBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [youpaipnextBtn setImage:[UIImage imageNamed:@"vqu_image_music_next"] forState:UIControlStateNormal]; [youpaipnextBtn addTarget:self action:@selector(youpaifnextBtnClick) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:youpaipnextBtn]; [youpaipnextBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.offset(-14.0f); make.centerY.equalTo(self); make.size.mas_offset(CGSizeMake(25.0f, 25.0f)); }]; UIButton *youpaipplayBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [youpaipplayBtn setImage:[UIImage imageNamed:@"vqu_image_music_stop"] forState:UIControlStateNormal]; [youpaipplayBtn setImage:[UIImage imageNamed:@"vqu_image_music_play"] forState:UIControlStateSelected]; [youpaipplayBtn addTarget:self action:@selector(youpaifplayBtnClick:) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:youpaipplayBtn]; self.youpaipplayBtn = youpaipplayBtn; [youpaipplayBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(youpaipnextBtn.mas_left).offset(-20.0f); make.centerY.equalTo(self); make.size.mas_offset(CGSizeMake(25.0f, 25.0f)); }]; UIButton *youpaippreviousBtn = [UIButton buttonWithType:UIButtonTypeCustom]; [youpaippreviousBtn setImage:[UIImage imageNamed:@"vqu_image_music_previous"] forState:UIControlStateNormal]; [youpaippreviousBtn addTarget:self action:@selector(youpaifpreviousBtnClick) forControlEvents:UIControlEventTouchUpInside]; [self addSubview:youpaippreviousBtn]; [youpaippreviousBtn mas_makeConstraints:^(MASConstraintMaker *make) { make.right.equalTo(youpaipplayBtn.mas_left).offset(-20.0f); make.centerY.equalTo(self); make.size.mas_offset(CGSizeMake(25.0f, 25.0f)); }]; UIImageView *youpaipmusicImgV = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"vqu_image_music_record"]]; youpaipmusicImgV.clipsToBounds = YES; youpaipmusicImgV.layer.cornerRadius = 19.5f; youpaipmusicImgV.contentMode = UIViewContentModeScaleAspectFill; [self addSubview:youpaipmusicImgV]; self.youpaipmusicImgV = youpaipmusicImgV; [youpaipmusicImgV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(14.0f); make.centerY.equalTo(self); make.size.mas_offset(CGSizeMake(39.0f, 39.0f)); }]; UILabel *youpaipnotDataL = [[UILabel alloc] init]; youpaipnotDataL.text = @"当前暂无音乐"; youpaipnotDataL.textColor = [UIColor whiteColor]; youpaipnotDataL.font = LCBoldFont(16.0f); [self addSubview:youpaipnotDataL]; self.youpaipnotDataL = youpaipnotDataL; [youpaipnotDataL mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(youpaipmusicImgV.mas_right).offset(10.0f); make.centerY.equalTo(self); make.right.equalTo(youpaippreviousBtn.mas_left).offset(-20.0f); }]; UIView *youpaipmusicInfoV = [[UIView alloc] init]; [self addSubview:youpaipmusicInfoV]; self.youpaipmusicInfoV = youpaipmusicInfoV; [youpaipmusicInfoV mas_makeConstraints:^(MASConstraintMaker *make) { make.left.equalTo(youpaipmusicImgV.mas_right).offset(10.0f); make.top.bottom.offset(0.0f); make.right.equalTo(youpaippreviousBtn.mas_left).offset(-20.0f); }]; UILabel *youpaipsongNameL = [[UILabel alloc] init]; youpaipsongNameL.font = LCFont(14.0f); youpaipsongNameL.textColor = [UIColor whiteColor]; [youpaipmusicInfoV addSubview:youpaipsongNameL]; self.youpaipsongNameL = youpaipsongNameL; [youpaipsongNameL mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(0.0f); make.top.offset(18.5f); make.right.offset(0.0f); }]; UILabel *youpaipsingerL = [[UILabel alloc] init]; youpaipsingerL.font = LCFont(11.0f); youpaipsingerL.textColor = HexColorFromRGB(0x9F9DA5); [youpaipmusicInfoV addSubview:youpaipsingerL]; self.youpaipsingerL = youpaipsingerL; [youpaipsingerL mas_makeConstraints:^(MASConstraintMaker *make) { make.left.offset(0.0f); make.top.equalTo(youpaipsongNameL.mas_bottom).offset(6.0f); make.right.offset(0.0f); }]; if ([YOUPAILZMusicManager shareManager].youpaipmusics.count == 0) { youpaipnotDataL.hidden = NO; youpaipmusicInfoV.hidden = YES; }else{ [self youpaifreloadMusicInfo]; } @weakify(self); [[YOUPAILZMusicManager shareManager] setChangeCurrentMusicBlock:^(YOUPAILZMusicListItemModel * _Nonnull model) { @strongify(self); [self youpaifreloadMusicInfo]; }]; [[YOUPAILZMusicManager shareManager] setChangePlayStateBlock:^(BOOL isPlay, BOOL isFirst) { @strongify(self); [self youpaifreloadMusicInfo]; if (!isPlay) { [[YOUPAILZChatRoomManager shareManager].agoraKit pauseAudioMixing]; }else{ if (!isFirst) { [[YOUPAILZChatRoomManager shareManager].agoraKit resumeAudioMixing]; }else{ [[YOUPAILZChatRoomManager shareManager] youpaifloadMusicInfoWithModel:[YOUPAILZMusicManager shareManager].youpaipcurrentMusic]; } } }]; } - (void)youpaifreloadMusicInfo{ self.youpaipnotDataL.hidden = YES; self.youpaipmusicInfoV.hidden = NO; self.youpaipsongNameL.text = [YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipname; // NSMutableString *artistStr = [NSMutableString string]; // for (YOUPAILZMusicArtistModel *artistModel in [YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipartist) { // [artistStr appendString:artistModel.youpaipname]; // if (artistModel != [YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipartist.lastObject) { // [artistStr appendString:@"/"]; // } // } // if (artistStr.length != 0 && [YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipalbumName.length != 0) { // [artistStr appendString:@" - "]; // } // [artistStr appendString:[YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipalbumName]; self.youpaipsingerL.text = [YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipsinger; self.youpaipplayBtn.selected = [YOUPAILZMusicManager shareManager].youpaipisPlay; if ([YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipposter.length != 0) { [self.youpaipmusicImgV sd_setImageWithURL:[NSURL URLWithString:[YOUPAILZMusicManager shareManager].youpaipcurrentMusic.youpaipposter]]; }else{ self.youpaipmusicImgV.image = [UIImage imageNamed:@"vqu_image_music_record"]; } } - (void)youpaifnextBtnClick{ if ([YOUPAILZMusicManager shareManager].youpaipmusics.count == 0) { return; } [[YOUPAILZMusicManager shareManager] youpaifnext]; } - (void)youpaifplayBtnClick:(UIButton *)sender{ if ([YOUPAILZMusicManager shareManager].youpaipmusics.count == 0) { return; } sender.selected = !sender.selected; if (!sender.selected) { [[YOUPAILZMusicManager shareManager] youpaifpause]; }else{ [[YOUPAILZMusicManager shareManager] youpaifplay]; } } - (void)youpaifpreviousBtnClick{ if ([YOUPAILZMusicManager shareManager].youpaipmusics.count == 0) { return; } [[YOUPAILZMusicManager shareManager] youpaifprevious]; } @end