MPMoviePlayerController fullscreen mode issue

I have a problem with my code that plays a video file. Whenever I play the file in fullscreen mode the playback doesn’t occupy all of my screen. Here is the relevant code:

     NSURL *url = [NSURL fileURLWithPath:@"Somefile.mov"];
     moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
    [moviePlayer setControlStyle:MPMovieControlStyleFullscreen];
    [moviePlayer setFullscreen:YES];
    moviePlayer.view.frame = self.switchView.frame;
    [self.switchView addSubview:moviePlayer.view];

    [[NSNotificationCenter defaultCenter] 
    addObserver:self
    selector:@selector(movieFinishedCallback:)                                                 
    name:MPMoviePlayerPlaybackDidFinishNotification
    object:moviePlayer];

    [[NSNotificationCenter defaultCenter] 
     addObserver:self
     selector:@selector(playbackStateDidChange:)                                                 
     name:MPMoviePlayerPlaybackStateDidChangeNotification
     object:moviePlayer];

    [moviePlayer prepareToPlay];
    [moviePlayer play];

Here is the output I get:

  • iOS 6.0 MPMoviePlayerController full screen mode black color? then App blocked no more actions
  • Getting Timed Metadata in Swift ios 8 From M3U8 Streaming Video
  • Best way to implement MPMoviePlayer timeout
  • MPMoviePlayer done button issue
  • Play YouTube videos in iPhone app without using UIWebView?
  • How do I catch the MPMoviePlayer next button click event while in fullscreen mode on the iPad?
  • enter image description here

    2 Solutions Collect From Internet About “MPMoviePlayerController fullscreen mode issue”

    Option A: Use the MPMovieViewController instead and display it modally using presentMoviePlayerViewControllerAnimated:.

    Option B: Make sure your switchView (which you use for adding the moviePlayer’s view to) actually occupies the entire screen.

    Option C: Readjust the frame of the moviePlayer’s view with negative vertical offsets until it fits – eg.: moviePlayer.view.frame = CGRectMake(0.0f, -20.0f, 320.0f, 480.0f);

    Note: MPMoviePlayerController always displays a status bar when using the control style MPMovieControlStyleFullscreen, no matter how the rest of your app handles the status-bar.

    Change the controlstyle property of your player from the method below: -(void)applyUserSettingsToMoviePlayer

    player.controlStyle = MPMovieControlStyleFullScreen causes the above problem,change it to MPMovieControlStyleEmbedded and see if that works.