// // webRtcPlayerViewController+AdjustPlayerViewFrame.m // 双子星云手机 // // Created by xd h on 2024/9/5. // #import "webRtcPlayerViewController+AdjustPlayerViewFrame.h" @implementation webRtcPlayerViewController (AdjustPlayerViewFrame) - (void)setPoMas_makeWithImageRate:(CGFloat)w_h_rate{ /*播放视图*/ // touchCommondView.isLan = NO; lastVideoWHRate = w_h_rate; BOOL fullScreenShow = [HWDataManager getBoolWithKey:Consn_player_full_screen_show]; CGFloat scr_W = SCREEN_W; CGFloat scr_H = SCREEN_H; if (SCREEN_W > SCREEN_H){ scr_W = SCREEN_H; scr_H = SCREEN_W; } [self.mediaStream mas_remakeConstraints:^(MASConstraintMaker *make) { if(fullScreenShow){//全屏 make.left.mas_equalTo(0.f); make.right.mas_equalTo(0.f); //make.bottom.mas_equalTo(0.f); make.bottom.mas_equalTo(-60.f); make.top.mas_equalTo(0.f); } else{//非全屏 if ((scr_H - scr_W/w_h_rate - 60.f) < 0){//空余高度不满 60 (宽不能满屏) make.height.mas_equalTo(scr_H - 60.f); make.width.mas_equalTo((scr_H - 60.f)*w_h_rate); make.centerX.equalTo(self.view.mas_centerX); make.top.mas_equalTo(0); } else if ((scr_H - scr_W/w_h_rate - 60.f*2) < 0){//空余高度不满 80 (Y不能居中) make.height.mas_equalTo(scr_H); make.width.mas_equalTo((scr_H)*w_h_rate); make.centerX.equalTo(self.view.mas_centerX); make.bottom.mas_equalTo(-60); } else{// 宽满屏 Y居中 make.left.mas_equalTo(0.f); make.right.mas_equalTo(0.f); make.height.mas_equalTo(scr_W/w_h_rate); //make.top.mas_equalTo((scr_H - scr_W/w_h_rate - 40.f)/2.f); make.centerY.equalTo(self.view.mas_centerY); } } }]; //[self.mediaStream setVideoContentMode:UIViewContentModeScaleAspectFit]; //self.bottomContrView.backgroundColor = [UIColor yellowColor]; [self.bottomContrView mas_remakeConstraints:^(MASConstraintMaker *make) { //make.height.mas_equalTo(60.f); make.bottom.mas_equalTo(0.f); make.right.mas_equalTo(0.f); make.left.mas_equalTo(0.f); if(fullScreenShow){ if(scr_H == 667){// iphone 6 7 8 make.top.equalTo(self.mediaStream.mas_bottom).offset(20); } else{ //make.bottom.mas_equalTo(0); make.top.equalTo(self.mediaStream.mas_bottom); } } else{ make.top.equalTo(self.mediaStream.mas_bottom); } }]; [self.bottomContrView updateFrameFunByIsLan:NO]; } /** * @brief 设置横屏模式UI布局 * * @param w_h_rate 宽高比 */ - (void)setLanMas_makeWithImageRate:(CGFloat)w_h_rate{ lastVideoWHRate = w_h_rate; BOOL fullScreenShow = [HWDataManager getBoolWithKey:Consn_player_full_screen_show]; CGFloat h_forPhoneBottomView = 60.0; CGFloat h_forPhoneTop = 0; if (IPHONE_X){ h_forPhoneTop = 44.f; } CGFloat scr_W = SCREEN_W; CGFloat scr_H = SCREEN_H; if (SCREEN_W < SCREEN_H){ scr_W = SCREEN_H; scr_H = SCREEN_W; } [self.mediaStream mas_remakeConstraints:^(MASConstraintMaker *make) { if(fullScreenShow){//全屏 make.left.mas_equalTo(0.f); //make.right.mas_equalTo(0.f); make.right.mas_equalTo(-60.f); make.bottom.mas_equalTo(0.f); make.top.mas_equalTo(0.f); } else{//非全屏 if((scr_W - scr_H*w_h_rate - 60.f*2) >= 0){//居中显示 make.height.mas_equalTo(scr_H); make.top.mas_equalTo(0.f); make.width.mas_equalTo(scr_H*w_h_rate); make.centerX.equalTo(self.view.mas_centerX); } else if((scr_W - scr_H*w_h_rate - 60.f*2) < 0 && (scr_W - scr_H*w_h_rate - 60.f) > 0){//空余宽度不满 120 (X不能居中){ make.height.mas_equalTo(scr_H); make.width.mas_equalTo((scr_H)*w_h_rate); make.centerY.equalTo(self.view.mas_centerY); make.right.mas_equalTo(-60); } else if((scr_W - scr_H*w_h_rate - 60.f) < 0){//空余宽度不满 60 (高不能满屏) make.height.mas_equalTo((scr_W - 60.f)/w_h_rate); make.width.mas_equalTo(scr_W - 60.f); make.centerY.equalTo(self.view.mas_centerY); make.left.mas_equalTo(0); } // if ((scr_W - scr_H*w_h_rate - 60.f) < 0){//空余宽度不满 60 (高不能满屏) // make.height.mas_equalTo((scr_W - 60.f)/w_h_rate); // make.width.mas_equalTo(scr_W - 60.f); // make.centerY.equalTo(self.view.mas_centerY); // make.left.mas_equalTo(0); // } // else if ((scr_W - scr_H*w_h_rate - 60.f*2) < 0){//空余宽度不满 80 (X不能居中) // make.height.mas_equalTo(scr_H); // make.width.mas_equalTo((scr_H)*w_h_rate); // make.centerY.equalTo(self.view.mas_centerY); // make.right.mas_equalTo(-60); // } // else{// 高满屏 X居中 // make.height.mas_equalTo(scr_H); // make.top.mas_equalTo(0.f); // make.width.mas_equalTo(scr_H*w_h_rate); // make.centerY.equalTo(self.view.mas_centerY); // } } }]; [self.bottomContrView mas_remakeConstraints:^(MASConstraintMaker *make) { make.width.mas_equalTo(h_forPhoneBottomView); if(fullScreenShow){ if(scr_W == 667){// iphone 6 7 8 make.left.equalTo(self.mediaStream.mas_right).offset(20); } else{ //make.right.mas_equalTo(0); make.left.equalTo(self.mediaStream.mas_right); } } else{ make.left.equalTo(self.mediaStream.mas_right); } make.top.mas_equalTo(0); make.bottom.mas_equalTo(0); }]; [self.bottomContrView updateFrameFunByIsLan:YES]; } @end