Вопрос

Редактировать: Если вы столкнетесь с этим и хотите знать, как я в конце концов решил, что я сдался в этом коде ниже и сделал это:

-(void)playMovieAtURL:(NSURL*)theURL{
    mediaPlayer = [[MPMoviePlayerViewController alloc] initWithContentURL:theURL];

    [self presentMoviePlayerViewControllerAnimated:mediaPlayer];
    mediaPlayer.view.backgroundColor = [UIColor blackColor];

}

Оригинальный пост:

Это мой код - я снял его с сайта Apple, поэтому не должен быть проблемой.

Он работает в UiableViewController на методе DadelectrowatindexPath.

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

Видео составляет один с сайта Apple (видео FaceTime), который я использовал для тестирования.

 -(void)playMovieAtURL:(NSURL*)theURL{



        MPMoviePlayerController* theMovie =

        [[MPMoviePlayerController alloc] initWithContentURL: theURL];



        theMovie.scalingMode = MPMovieScalingModeAspectFill;

        theMovie.controlStyle = MPMovieControlStyleNone;



        // Register for the playback finished notification

        [[NSNotificationCenter defaultCenter]

         addObserver: self

         selector: @selector(myMovieFinishedCallback:)

         name: MPMoviePlayerPlaybackDidFinishNotification

         object: theMovie];



        // Movie playback is asynchronous, so this method returns immediately.

        [theMovie play];

    }
Это было полезно?

Решение

Поведение MPMOViePlayerController изменилось в ОС 3.2 - вам нужно явно добавить вид фильма на свою просмотр иерархии сейчас - используя что-то вроде:

[aView addSubview:moviePlayerController.view];
moviePlayerController.view.frame = aView.frame;

В качестве альтернативы вы можете использовать MPMOViePlayerviewController (новый в 3.2) для управления представлением.

Если вы нацеливаете как до- и Post-3.2 устройства (например, IOS 3.1 и 4.0), то вам понадобится условный код для определения ОС, который работает и обрабатывается соответственно. Я использовал это в предыдущих проектах:

if ([moviePlayerController respondsToSelector:@selector(setFullscreen:animated:)]) {
    // Running on OS 3.2 or above
    // Code to add to a view here...
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top