VLCFullscreenMovieTVViewController.m 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130
  1. /*****************************************************************************
  2. * VLC for iOS
  3. *****************************************************************************
  4. * Copyright (c) 2015 VideoLAN. All rights reserved.
  5. * $Id$
  6. *
  7. * Authors: Felix Paul Kühne <fkuehne # videolan.org>
  8. *
  9. * Refer to the COPYING file of the official project for license.
  10. *****************************************************************************/
  11. #import "VLCFullscreenMovieTVViewController.h"
  12. #import "VLCPlayerDisplayController.h"
  13. @interface VLCFullscreenMovieTVViewController ()
  14. {
  15. BOOL _playerIsSetup;
  16. BOOL _viewAppeared;
  17. }
  18. @end
  19. @implementation VLCFullscreenMovieTVViewController
  20. - (void)viewDidLoad {
  21. [super viewDidLoad];
  22. self.extendedLayoutIncludesOpaqueBars = YES;
  23. self.edgesForExtendedLayout = UIRectEdgeAll;
  24. NSNotificationCenter *center = [NSNotificationCenter defaultCenter];
  25. [center addObserver:self
  26. selector:@selector(appBecameActive:)
  27. name:UIApplicationDidBecomeActiveNotification
  28. object:nil];
  29. [center addObserver:self
  30. selector:@selector(playbackDidStop:)
  31. name:VLCPlaybackControllerPlaybackDidStop
  32. object:nil];
  33. _movieView.userInteractionEnabled = NO;
  34. _playerIsSetup = NO;
  35. }
  36. - (void)viewWillAppear:(BOOL)animated
  37. {
  38. [super viewWillAppear:animated];
  39. [self.navigationController setNavigationBarHidden:YES animated:animated];
  40. VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
  41. vpc.delegate = self;
  42. [vpc recoverPlaybackState];
  43. }
  44. - (void)viewDidAppear:(BOOL)animated
  45. {
  46. [super viewDidAppear:animated];
  47. _viewAppeared = YES;
  48. VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
  49. [vpc recoverDisplayedMetadata];
  50. vpc.videoOutputView = nil;
  51. vpc.videoOutputView = self.movieView;
  52. }
  53. - (void)viewWillDisappear:(BOOL)animated
  54. {
  55. VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
  56. if (vpc.videoOutputView == self.movieView) {
  57. vpc.videoOutputView = nil;
  58. }
  59. _viewAppeared = NO;
  60. [self.navigationController setNavigationBarHidden:NO animated:YES];
  61. [super viewWillDisappear:animated];
  62. [[UIApplication sharedApplication] sendAction:@selector(closeFullscreenPlayback) to:nil from:self forEvent:nil];
  63. }
  64. - (void)prepareForMediaPlayback:(VLCPlaybackController *)controller
  65. {
  66. APLog(@"%s", __PRETTY_FUNCTION__);
  67. }
  68. - (void)appBecameActive:(NSNotification *)aNotification
  69. {
  70. VLCPlayerDisplayController *pdc = [VLCPlayerDisplayController sharedInstance];
  71. if (pdc.displayMode == VLCPlayerDisplayControllerDisplayModeFullscreen) {
  72. VLCPlaybackController *vpc = [VLCPlaybackController sharedInstance];
  73. [vpc recoverDisplayedMetadata];
  74. if (vpc.videoOutputView != self.movieView) {
  75. vpc.videoOutputView = nil;
  76. vpc.videoOutputView = self.movieView;
  77. }
  78. }
  79. }
  80. - (void)playbackDidStop:(NSNotification *)aNotification
  81. {
  82. [[UIApplication sharedApplication] sendAction:@selector(closeFullscreenPlayback) to:nil from:self forEvent:nil];
  83. }
  84. - (void)mediaPlayerStateChanged:(VLCMediaPlayerState)currentState
  85. isPlaying:(BOOL)isPlaying
  86. currentMediaHasTrackToChooseFrom:(BOOL)currentMediaHasTrackToChooseFrom
  87. currentMediaHasChapters:(BOOL)currentMediaHasChapters
  88. forPlaybackController:(VLCPlaybackController *)controller
  89. {
  90. APLog(@"%s", __PRETTY_FUNCTION__);
  91. }
  92. - (void)displayMetadataForPlaybackController:(VLCPlaybackController *)controller
  93. title:(NSString *)title
  94. artwork:(UIImage *)artwork
  95. artist:(NSString *)artist
  96. album:(NSString *)album
  97. audioOnly:(BOOL)audioOnly
  98. {
  99. APLog(@"%s", __PRETTY_FUNCTION__);
  100. }
  101. - (void)showStatusMessage:(NSString *)statusMessage
  102. forPlaybackController:(VLCPlaybackController *)controller
  103. {
  104. APLog(@"%s", __PRETTY_FUNCTION__);
  105. }
  106. @end