webRtcPlayerViewController+AppDelegate.m 3.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111
  1. //
  2. // webRtcPlayerViewController+AppDelegate.m
  3. // 双子星云手机
  4. //
  5. // Created by xd h on 2024/9/18.
  6. //
  7. #import "webRtcPlayerViewController+AppDelegate.h"
  8. @implementation webRtcPlayerViewController (AppDelegate)
  9. #pragma mark - UIApplication Delegate
  10. - (void)applicationWillResignActive:(NSNotification *)notification
  11. {
  12. //HLog(@"11111");
  13. }
  14. - (void)applicationDidEnterBackground:(NSNotification *)notification {
  15. [self.mediaStream enterBackground];
  16. // app进入后台时
  17. [self pauseStream];
  18. [self checkLanAndPrivacyModeTypeFun];
  19. [cachesFileManager writeLogsWithMsg:@"applicationDidEnterBackground"];
  20. }
  21. - (void)applicationDidBecomeActive:(NSNotification *)notification
  22. {
  23. if(!ksharedAppDelegate.isDidShowPwdType){
  24. //[self resumeStream];
  25. [self relinkWebRtcFunByBecomeActive];
  26. }
  27. [[webRtcManager shareManager] updateCopydata];
  28. [cachesFileManager writeLogsWithMsg:@"applicationDidBecomeActive"];
  29. }
  30. - (void)applicationWillTerminate:(UIApplication *)application {
  31. // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
  32. [self.mediaStream disconnect];
  33. [cachesFileManager writeLogsWithMsg:@"applicationWillTerminate"];
  34. }
  35. #pragma mark 云机停止拉流
  36. - (void)pauseStream
  37. {
  38. [self.mediaStream pauseStream];
  39. }
  40. #pragma mark 云机唤醒拉流
  41. - (void)resumeStream
  42. {
  43. [self.mediaStream resumeStream];
  44. }
  45. #pragma mark 检测是否为横屏而且 隐私模式 (密码界面只有竖屏 UI会乱)
  46. - (void)checkLanAndPrivacyModeTypeFun
  47. {
  48. if(!self.isLan){
  49. return;
  50. }
  51. if(!ksharedAppDelegate.DeviceThirdIdMod.data.isPrivacyMode){
  52. return;
  53. }
  54. self.isLan = YES;
  55. self->isLanAndPrivacyEnterBackground = YES;
  56. //旋转屏幕为竖屏 (已经在sceneDelegate 处理旋转)
  57. HLog(@"旋转屏幕为竖屏 (已经在sceneDelegate 处理旋转)")
  58. }
  59. #pragma mark 输入密码完成
  60. - (void)didInpuPwdOkFun
  61. {
  62. //[self resumeStream];
  63. [self relinkWebRtcFunByBecomeActive];
  64. if(self->isLanAndPrivacyEnterBackground){
  65. self->isLanAndPrivacyEnterBackground = NO;
  66. [self player_rotateToInterfaceOrientation:UIInterfaceOrientationLandscapeRight];
  67. }
  68. }
  69. #pragma mark 旋转屏幕
  70. - (BOOL)player_rotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
  71. {
  72. ksharedAppDelegate.supportScreenRotateType = YES;
  73. HLog(@"旋转屏幕")
  74. BOOL isSuc = [self hx_rotateToInterfaceOrientation:interfaceOrientation];
  75. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  76. ksharedAppDelegate.supportScreenRotateType = NO;
  77. if(interfaceOrientation == UIInterfaceOrientationLandscapeRight){
  78. ksharedAppDelegate.isPlayerScreenLandscapeType = YES;
  79. }
  80. else{
  81. ksharedAppDelegate.isPlayerScreenLandscapeType = NO;
  82. }
  83. });
  84. return isSuc;
  85. }
  86. @end