webRtcPlayerViewController+AdjustPlayerViewFrame.m 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187
  1. //
  2. // webRtcPlayerViewController+AdjustPlayerViewFrame.m
  3. // 双子星云手机
  4. //
  5. // Created by xd h on 2024/9/5.
  6. //
  7. #import "webRtcPlayerViewController+AdjustPlayerViewFrame.h"
  8. @implementation webRtcPlayerViewController (AdjustPlayerViewFrame)
  9. - (void)setPoMas_makeWithImageRate:(CGFloat)w_h_rate{
  10. /*播放视图*/
  11. // touchCommondView.isLan = NO;
  12. lastVideoWHRate = w_h_rate;
  13. BOOL fullScreenShow = [HWDataManager getBoolWithKey:Consn_player_full_screen_show];
  14. CGFloat scr_W = SCREEN_W;
  15. CGFloat scr_H = SCREEN_H;
  16. if (SCREEN_W > SCREEN_H){
  17. scr_W = SCREEN_H;
  18. scr_H = SCREEN_W;
  19. }
  20. [self.mediaStream mas_remakeConstraints:^(MASConstraintMaker *make) {
  21. if(fullScreenShow){//全屏
  22. make.left.mas_equalTo(0.f);
  23. make.right.mas_equalTo(0.f);
  24. //make.bottom.mas_equalTo(0.f);
  25. make.bottom.mas_equalTo(-60.f);
  26. make.top.mas_equalTo(0.f);
  27. }
  28. else{//非全屏
  29. if ((scr_H - scr_W/w_h_rate - 60.f) < 0){//空余高度不满 60 (宽不能满屏)
  30. make.height.mas_equalTo(scr_H - 60.f);
  31. make.width.mas_equalTo((scr_H - 60.f)*w_h_rate);
  32. make.centerX.equalTo(self.view.mas_centerX);
  33. make.top.mas_equalTo(0);
  34. }
  35. else if ((scr_H - scr_W/w_h_rate - 60.f*2) < 0){//空余高度不满 80 (Y不能居中)
  36. make.height.mas_equalTo(scr_H);
  37. make.width.mas_equalTo((scr_H)*w_h_rate);
  38. make.centerX.equalTo(self.view.mas_centerX);
  39. make.bottom.mas_equalTo(-60);
  40. }
  41. else{// 宽满屏 Y居中
  42. make.left.mas_equalTo(0.f);
  43. make.right.mas_equalTo(0.f);
  44. make.height.mas_equalTo(scr_W/w_h_rate);
  45. //make.top.mas_equalTo((scr_H - scr_W/w_h_rate - 40.f)/2.f);
  46. make.centerY.equalTo(self.view.mas_centerY);
  47. }
  48. }
  49. }];
  50. //[self.mediaStream setVideoContentMode:UIViewContentModeScaleAspectFit];
  51. //self.bottomContrView.backgroundColor = [UIColor yellowColor];
  52. [self.bottomContrView mas_remakeConstraints:^(MASConstraintMaker *make) {
  53. //make.height.mas_equalTo(60.f);
  54. make.bottom.mas_equalTo(0.f);
  55. make.right.mas_equalTo(0.f);
  56. make.left.mas_equalTo(0.f);
  57. if(fullScreenShow){
  58. if(scr_H == 667){// iphone 6 7 8
  59. make.top.equalTo(self.mediaStream.mas_bottom).offset(20);
  60. }
  61. else{
  62. //make.bottom.mas_equalTo(0);
  63. make.top.equalTo(self.mediaStream.mas_bottom);
  64. }
  65. }
  66. else{
  67. make.top.equalTo(self.mediaStream.mas_bottom);
  68. }
  69. }];
  70. [self.bottomContrView updateFrameFunByIsLan:NO];
  71. }
  72. /**
  73. * @brief 设置横屏模式UI布局
  74. *
  75. * @param w_h_rate 宽高比
  76. */
  77. - (void)setLanMas_makeWithImageRate:(CGFloat)w_h_rate{
  78. lastVideoWHRate = w_h_rate;
  79. BOOL fullScreenShow = [HWDataManager getBoolWithKey:Consn_player_full_screen_show];
  80. CGFloat h_forPhoneBottomView = 60.0;
  81. CGFloat h_forPhoneTop = 0;
  82. if (IPHONE_X){
  83. h_forPhoneTop = 44.f;
  84. }
  85. CGFloat scr_W = SCREEN_W;
  86. CGFloat scr_H = SCREEN_H;
  87. if (SCREEN_W < SCREEN_H){
  88. scr_W = SCREEN_H;
  89. scr_H = SCREEN_W;
  90. }
  91. [self.mediaStream mas_remakeConstraints:^(MASConstraintMaker *make) {
  92. if(fullScreenShow){//全屏
  93. make.left.mas_equalTo(0.f);
  94. //make.right.mas_equalTo(0.f);
  95. make.right.mas_equalTo(-60.f);
  96. make.bottom.mas_equalTo(0.f);
  97. make.top.mas_equalTo(0.f);
  98. }
  99. else{//非全屏
  100. if((scr_W - scr_H*w_h_rate - 60.f*2) >= 0){//居中显示
  101. make.height.mas_equalTo(scr_H);
  102. make.top.mas_equalTo(0.f);
  103. make.width.mas_equalTo(scr_H*w_h_rate);
  104. make.centerX.equalTo(self.view.mas_centerX);
  105. }
  106. else if((scr_W - scr_H*w_h_rate - 60.f*2) < 0
  107. && (scr_W - scr_H*w_h_rate - 60.f) > 0){//空余宽度不满 120 (X不能居中){
  108. make.height.mas_equalTo(scr_H);
  109. make.width.mas_equalTo((scr_H)*w_h_rate);
  110. make.centerY.equalTo(self.view.mas_centerY);
  111. make.right.mas_equalTo(-60);
  112. }
  113. else if((scr_W - scr_H*w_h_rate - 60.f) < 0){//空余宽度不满 60 (高不能满屏)
  114. make.height.mas_equalTo((scr_W - 60.f)/w_h_rate);
  115. make.width.mas_equalTo(scr_W - 60.f);
  116. make.centerY.equalTo(self.view.mas_centerY);
  117. make.left.mas_equalTo(0);
  118. }
  119. // if ((scr_W - scr_H*w_h_rate - 60.f) < 0){//空余宽度不满 60 (高不能满屏)
  120. // make.height.mas_equalTo((scr_W - 60.f)/w_h_rate);
  121. // make.width.mas_equalTo(scr_W - 60.f);
  122. // make.centerY.equalTo(self.view.mas_centerY);
  123. // make.left.mas_equalTo(0);
  124. // }
  125. // else if ((scr_W - scr_H*w_h_rate - 60.f*2) < 0){//空余宽度不满 80 (X不能居中)
  126. // make.height.mas_equalTo(scr_H);
  127. // make.width.mas_equalTo((scr_H)*w_h_rate);
  128. // make.centerY.equalTo(self.view.mas_centerY);
  129. // make.right.mas_equalTo(-60);
  130. // }
  131. // else{// 高满屏 X居中
  132. // make.height.mas_equalTo(scr_H);
  133. // make.top.mas_equalTo(0.f);
  134. // make.width.mas_equalTo(scr_H*w_h_rate);
  135. // make.centerY.equalTo(self.view.mas_centerY);
  136. // }
  137. }
  138. }];
  139. [self.bottomContrView mas_remakeConstraints:^(MASConstraintMaker *make) {
  140. make.width.mas_equalTo(h_forPhoneBottomView);
  141. if(fullScreenShow){
  142. if(scr_W == 667){// iphone 6 7 8
  143. make.left.equalTo(self.mediaStream.mas_right).offset(20);
  144. }
  145. else{
  146. //make.right.mas_equalTo(0);
  147. make.left.equalTo(self.mediaStream.mas_right);
  148. }
  149. }
  150. else{
  151. make.left.equalTo(self.mediaStream.mas_right);
  152. }
  153. make.top.mas_equalTo(0);
  154. make.bottom.mas_equalTo(0);
  155. }];
  156. [self.bottomContrView updateFrameFunByIsLan:YES];
  157. }
  158. @end