Search code examples
iosobjective-cmpmovieplayercontroller

MPMoviePlayerController doesn't work properly after going fullscreen


I embedded MPMoviePlayerController like this:

[_mediaPlayerView addSubview:moviePlayer.view]; 
[self addChildViewController:moviePlayer];

Video plays ok. When i tap on fullscreen button player maximizes, but i see only control buttons, screen is blank. Loading indicator is spinning. When i unmaximize, embedded video controller is blank too.


Solution

  • Right way to embed MPMoviePlayerController:

            self.mediaPlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
            [self.mediaPlayer setMovieSourceType:MPMovieSourceTypeFile];
            [self.mediaPlayer setControlStyle:MPMovieControlStyleEmbedded];
            [self.mediaPlayer setShouldAutoplay:NO];
            [self.mediaPlayer prepareToPlay];
    
            [self.mediaPlayer.view setFrame:self.mediaPlayerView.bounds];
            [self.mediaPlayerView addSubview:self.mediaPlayer.view];
            self.mediaPlayerView.userInteractionEnabled = YES;