MPMoviePlayer - черный экран - iOS 5 - нет воспроизведения видео - PullRequest
4 голосов
/ 28 октября 2011

В iOS 4 этот код работал для воспроизведения фильма:

-(IBAction)playMovie:(id)sender
{
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:@"testbild1" ofType:@"m4v"]];
    MPMoviePlayerController *moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
    UIView *testview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 200, 200)];

    [testview addSubview:moviePlayer.view];
    [self.view addSubview:testview];
    //[self.view addSubview:moviePlayer.view];
    //[moviePlayer setFullscreen:YES animated:YES];
}  

- (void)moviePlaybackComplete:(NSNotification *)notification  
{  
    MPMoviePlayerController *moviePlayerController = [notification object];  
    [[NSNotificationCenter defaultCenter] removeObserver:self  
                                                    name:MPMoviePlayerPlaybackDidFinishNotification  
                                                  object:moviePlayerController];  

    [moviePlayerController.view removeFromSuperview];  
    //[moviePlayerController release];  
}  

Теперь у меня только черный экран. Нет управления, ничего. Путь к видео правильный, я это проверял. Если я добавлю только белый Subview нажатием кнопки, это работает. Так называется метод.

Заранее спасибо!

Ответы [ 2 ]

13 голосов
/ 09 ноября 2011

Я решил проблему, поместив в файл .h

MPMoviePlayerController *moviePlayer;

iOS 5 с ARC работает иначе, чем iOS 4.

Файл .m должен быть:

moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:url];
1 голос
/ 31 декабря 2012

Если вы используете iOS 5.0 или 5.1, убедитесь, что у вашего moviePlyer есть настройка, подобная приведенной ниже.

[moviePlayer setControlStyle:MPMovieControlStyleFullscreen];

Если это так, когда вы установите [moviePlayer setFullScreen:YES animated:YES];, тогда уведомление MPMoviePlayerPlaybackDidFinishNotification будетвызывается вместо вызова MPMoviePlayerWillExitFullscreenNotification или MPMoviePlayerDidExitFullscreenNotification

...