123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207 |
- //
- // 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
|