Первый кадр ios6 moviePlayer не появляется при создании

У меня есть методы внутри моего контроллера открытого класса, который создает экземпляр moviePlayer, для которого установлено значение 'autoPlay = NO';

Я добавил movieplayer.view как подпредставление представления контроллеров, настроил его и создал полноэкранную кнопку сверху для запуска видео. Начиная с iOS4.3, это работает нормально. Кнопка прозрачна, и через нее просвечивается первый кадр видео (изображение пользовательской кнопки автозапуска Automoble).

Начиная с iOS6 у меня только черный экран. Нажатие на кнопку с изображением запускает видео как надо; звонки [moviePlayer play]

Что-то изменилось, что я не учел? Я предоставил два раздела кода, которые я считаю необходимыми.

#define INTRO_MOVIE @"Intro.mov"
-(void)viewDidLoad
{
    if(SHOULD_PLAY_INTRO_VIDEO)//Debug switch to ignore the intro video
    {
        // Prepare the movie and player
        [self configureIntroMoviePlayer];        
        [self.view addSubview:moviePlayer.view];      
        [self.view bringSubviewToFront:moviePlayer.view];

        // Add and Show the Start Button to start the App
        [self configureStartButton];
        [self.view addSubview:startButton];
    }
}

-(void)configureIntroMoviePlayer
{
    LOGINFO
    // Prepare the Intro Video    
    NSString *pathToIntroVideo  = [ mainFilePath_ stringByAppendingPathComponent: INTRO_MOVIE];
    NSURL *URLToIntroVideo      = [NSURL fileURLWithPath:pathToIntroVideo];

    moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:URLToIntroVideo];
    [moviePlayer setShouldAutoplay:NO];
    moviePlayer.view.frame = CGRectMake(0, -20, 1024, 768);
    [moviePlayer setControlStyle:MPMovieControlStyleNone];

    //fixing video brightness Difference with iPad2
    if(isIpad2)
    {
        moviePlayer.backgroundView.backgroundColor = [UIColor blackColor];
        moviePlayer.view.alpha = .99;
    }

// Create the sKip button for cancelling the Intro Video
    skipIntro = [UIButton buttonWithType:UIButtonTypeCustom];
    [skipIntro showsTouchWhenHighlighted];
    skipIntro.frame = CGRectMake(900, 20, 111, 57);
    [skipIntro addTarget:self action:@selector(skipIntroWasPressed) forControlEvents:UIControlEventTouchUpInside];

}

2 ответа

Я не уверен, почему я получил оценку -1 за этот вопрос из-за отсутствия исследований или ясности? Может быть, я не знаю правильное использование этого форума. Приношу извинения.

Я обнаружил, что добавление [moviePlayer prepareToPlay] решило проблему. Как я уже сказал, было странно, что первый кадр всегда появлялся до iOS 6.

Ты пытался:

 [moviePlayer.view addSubView:startButton];
Другие вопросы по тегам