Проблема с полноэкранным режимом MPMoviePlayerController - PullRequest
2 голосов
/ 16 апреля 2011

У меня проблема с кодом, который воспроизводит видеофайл.Всякий раз, когда я воспроизводю файл в полноэкранном режиме, воспроизведение не занимает весь мой экран.Вот соответствующий код:

     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];

Вот вывод, который я получаю:

enter image description here

Ответы [ 2 ]

7 голосов
/ 17 апреля 2011

Вариант A: используйте взамен MPMovieViewController и отображайте его модально, используя presentMoviePlayerViewControllerAnimated:.

Вариант B: убедитесь, что ваш switchView (к которому вы добавляете представление moviePlayer) действительно занимает весь экран.

Вариант C: перенастроить кадр представления moviePlayer с отрицательными вертикальными смещениями до его подгонки - например: moviePlayer.view.frame = CGRectMake(0.0f, -20.0f, 320.0f, 480.0f);

Примечание: MPMoviePlayerController всегда отображает состояниепанель при использовании стиля управления MPMovieControlStyleFullscreen, независимо от того, как остальная часть вашего приложения обрабатывает строку состояния.

1 голос
/ 22 марта 2013

Измените свойство controlstyle вашего плеера следующим способом: - (void) applyUserSettingsToMoviePlayer

player.controlStyle = MPMovieControlStyleFullScreen вызывает вышеуказанную проблему, замените его на MPMovieControlStyleEmbedded и посмотрите, работает ли это.

...