Parcourir la source

1.全屏开关设置做了一半

huangxiaodong il y a 9 mois
Parent
commit
1b36c2d29c

+ 4 - 4
创维盒子/双子星云手机/cloudPhone/cloudPhoneViewController.m

@@ -200,10 +200,10 @@
         return;
     }
     
-    if (!ksharedAppDelegate.isWebSockLinkOKAginType) {//未链接
-        [[iToast makeText:NSLocalizedString(@"box_link_error_show_tip",nil)] show];
-        return;
-    }
+//    if (!ksharedAppDelegate.isWebSockLinkOKAginType) {//未链接
+//        [[iToast makeText:NSLocalizedString(@"box_link_error_show_tip",nil)] show];
+//        return;
+//    }
     
     NSInteger tag = but.tag;
     HLog(@"%ld",tag);

+ 5 - 0
创维盒子/双子星云手机/cloudPhone/websocket/RCCommandHelp.h

@@ -271,6 +271,11 @@ NS_ASSUME_NONNULL_BEGIN
  *
  */
 + (NSString *)commondToSetFullScreenPhoneSize;
+/**
+ * @brief 1.4.2 设置全屏推流
+ *
+ */
++ (CGSize)commondToSetFullScreenPhoneSizeBySize;
 @end
 
 NS_ASSUME_NONNULL_END

+ 77 - 0
创维盒子/双子星云手机/cloudPhone/websocket/RCCommandHelp.m

@@ -1278,4 +1278,81 @@ withType:(BOOL)isUploadType
     
     return dataStr;
 }
+
+/**
+ * @brief 1.4.2 设置全屏推流
+ *
+ */
++ (CGSize)commondToSetFullScreenPhoneSizeBySize
+{
+    
+    UIWindow *window = [[[UIApplication sharedApplication] windows] lastObject];
+    CGFloat phoneW = window.frame.size.width * 3;
+    CGFloat phoneH = window.frame.size.height * 3;
+    
+    CGFloat W_PHONE = phoneW;
+    CGFloat H_PHONE = phoneH;
+    
+    //朱珠令验证  设置分辨率的宽高要求余8为零才能解码成功 20220221
+    W_PHONE = ((int)(W_PHONE/8)) *8;
+    H_PHONE = ((int)(H_PHONE/8)) *8;
+//
+//    //从iPhone 6开始适配
+//    NSString *phoneModel = [iTools getCurrentDeviceModel];
+//    if([phoneModel isEqualToString:@"iPhone 6"]
+//       ||[phoneModel isEqualToString:@"iPhone 6s"]
+//       ||[phoneModel isEqualToString:@"iPhone 7"]
+//       ||[phoneModel isEqualToString:@"iPhone 7s"]
+//       ||[phoneModel isEqualToString:@"iPhone 8"]
+//       ||[phoneModel isEqualToString:@"iPhone 8s"]
+//       ||[phoneModel isEqualToString:@"iPhone SE"])
+//    {//不行 可以用 1920 *1080  没有真机验证
+////         W_PHONE = 1334;
+////         H_PHONE = 750;
+//        H_PHONE = 1920;
+//        W_PHONE = 1080;
+//
+//    }
+//    else if ([phoneModel isEqualToString:@"iPhone 6 Plus"]
+//             ||[phoneModel isEqualToString:@"iPhone 7 Plus"]
+//             ||[phoneModel isEqualToString:@"iPhone 8 Plus"]
+//             ||[phoneModel isEqualToString:@"iPhone 6s Plus"]
+//             ||[phoneModel isEqualToString:@"iPhone 7s Plus"]
+//             ||[phoneModel isEqualToString:@"iPhone 8s Plus"])
+//    {
+//        H_PHONE = 1920;
+//        W_PHONE = 1080;
+//    }
+    
+//    else if ([phoneModel isEqualToString:@"iPhone X"]
+//             ||[phoneModel isEqualToString:@"iPhone XS"])
+//    {
+////        W_PHONE = 2436;
+////        H_PHONE = 1125;
+//    }
+//    else if ([phoneModel isEqualToString:@"iPhone XR"]
+//             ||[phoneModel isEqualToString:@"iPhone XS Max"])
+//    {//不用改
+//    }
+    
+    //
+    CGFloat scale = 1080.0/W_PHONE;
+    W_PHONE = 1080;//W_PHONE*scale;
+    H_PHONE = H_PHONE * scale;
+    H_PHONE = ((int)(H_PHONE/8)) *8;
+
+    //[RCGameCommondToStr setCurrentCouldPhone_W_PHONE:W_PHONE];
+    //[RCGameCommondToStr setCurrentCouldPhone_H_PHONE:H_PHONE];
+                
+    //不行
+//    CGFloat W_PHONE = 812;
+//    CGFloat H_PHONE = 375;
+    
+
+    //ok
+//    CGFloat W_PHONE = 1136;
+//    CGFloat H_PHONE = 640;
+    
+    return CGSizeMake(W_PHONE, H_PHONE);
+}
 @end

+ 1 - 1
创维盒子/双子星云手机/webRtc/view/webRtcPlayerBottomContrView.m

@@ -23,7 +23,7 @@
     self = [super initWithFrame:frame];
     
     if (self){
-        [self setBackgroundColor:[UIColor blackColor]];
+        [self setBackgroundColor:[UIColor clearColor]];
         [self initAddSubViewForBottomContrView];
     }
     

+ 3 - 0
创维盒子/双子星云手机/webRtc/webRtcManager/webRtcManager.h

@@ -35,6 +35,9 @@ NS_ASSUME_NONNULL_BEGIN
 #pragma mark 关闭链接
 - (void)closeLinkWebRtcFun;
 
+#pragma mark webrtc P2P通道发送消息
+- (void)send_data:(NSString *)dataStr;
+
 #pragma mark 获取云机系统镜像等信息
 - (void)getSysInfoFun;
 #pragma mark 获取云机基本信息

+ 52 - 0
创维盒子/双子星云手机/webRtc/webRtcPlayerViewController.m

@@ -310,6 +310,12 @@
     [_mediaStream sendKey:keyType];
 }
 
+#pragma mark 云机交互的消息发送
+-(void)send_data:(NSString*)commandStr
+{
+    [[webRtcManager shareManager] send_data:commandStr];
+}
+
 #pragma mark -- /*底部导航栏开关通知*/
 - (void)getPlayerBottomNavShowOrHidefun
 {
@@ -323,6 +329,49 @@
     }
 }
 
+#pragma mark -- /*全面屏开关通知*/
+- (void)setPlayerFullScreenNotFun
+{
+    BOOL fullscreenType = [HWDataManager getBoolWithKey:Consn_player_full_screen_show];
+    
+    CGFloat tempRate = 0.0;
+    //重新设置分辨率
+    if(fullscreenType){
+//        NSString *commandStr = [RCCommandHelp commondToSetFullScreenPhoneSize];
+//        [self send_data:commandStr];
+        
+        NSInteger cardDensity = 380;//460;
+        
+        
+        CGSize size = [RCCommandHelp commondToSetFullScreenPhoneSizeBySize];
+        [self setCardSize:size.width cardHeight:size.height cardDensity:cardDensity];
+        
+        tempRate = (size.width *1.0)/(size.width *1.0);
+    }
+    else{
+//        NSString *commondStr  = [RCCommandHelp setPhoneSizecommandWithWidth:1080 high:1920 dpi:480];
+//        //NSString *commondStr@"{\"data\":{\"height\":1920,\"width\":1080},\"type\":\"setPhoneSize\"}";
+//        [self send_data:commondStr];
+        [self setCardSize:1080 cardHeight:1920 cardDensity:480];
+        
+        tempRate = 1080.0/1920.0;
+    }
+    
+    if (tempRate > 1) {/*横屏*/
+        [self setLanMas_makeWithImageRate:tempRate];
+    }else{/*竖屏*/
+        [self setPoMas_makeWithImageRate:tempRate];
+    }
+}
+
+#pragma mark -- /*推流中修改卡的分辨率*/
+- (void)setCardSize:(NSInteger)cardWidth
+         cardHeight:(NSInteger)cardHeight
+        cardDensity:(NSInteger)cardDensit
+{
+    [_mediaStream setCardSize:cardWidth cardHeight:cardHeight cardDensity:cardDensit];
+}
+
 #pragma mark -- /*通知添加与移除*/
 - (void)addKVOObserverFun
 {
@@ -330,6 +379,8 @@
     [[AVAudioSession sharedInstance] addObserver:self forKeyPath:@"outputVolume" options:NSKeyValueObservingOptionNew | NSKeyValueObservingOptionOld context:(void *)[AVAudioSession sharedInstance]];
     
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(getPlayerBottomNavShowOrHidefun)  name:getPlayerBottomNavNotification  object:nil];
+    
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(setPlayerFullScreenNotFun)  name:setPlayerFullScreenNotification  object:nil];
 }
 
 - (void)removeKVOObserverFun
@@ -340,6 +391,7 @@
         outputVolumeKVO = NO;
     }
     
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
 }
 
 #pragma mark 系统音量键监听