MPMoviePlayerController fullscreen mode issue

2020-06-06 05:46发布

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:

enter image description here

2条回答
在下西门庆
2楼-- · 2020-06-06 06:08

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.

查看更多
家丑人穷心不美
3楼-- · 2020-06-06 06:20

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.

查看更多
登录 后发表回答