MPMoviePlayerController отлично работал до iOS 4.0, теперь просто воспроизводит звук, нет видео - PullRequest
0 голосов
/ 20 сентября 2010

Код ниже более или менее взят из примера кода MPMoviePlayerController.В приложении, которое я написал в прошлом году, оно без проблем воспроизводило видео в полноэкранном режиме.Начиная с iOS 4.0, в фоновом режиме есть только звук.Это похоже на то, что у плеера нет вида, или вид скрывается за моим приложением.Я по-прежнему могу взаимодействовать с моим приложением, даже «запускать» новое видео (только аудио).

Это похоже на то, что проигрыватель фильмов теперь нуждается в просмотре, но я не вижу способа предоставить это в APIили пример кода (который, кажется, имеет версию или две позади.

Я загружаю свои видео с URL, и если я набираю их в Safari, они воспроизводятся просто отлично.

Вотсоответствующие фрагменты кода, для чего это стоит:

- (void)playMovieUrl:(NSURL*)url
            delegate:(id)delegate
    callbackSelector:(SEL)selector
{
    @try {
        movieFinishedCallbackDelegate = delegate;
        movieFinishedCallbackSelector = selector;
        movieURL = url;
        MPMoviePlayerController* theMovie=[[MPMoviePlayerController alloc] initWithContentURL:url]; 

        [[NSNotificationCenter defaultCenter] addObserver:self 
                                                 selector:@selector(myMovieFinishedCallback:) 
                                                     name:MPMoviePlayerPlaybackDidFinishNotification 
                                                   object:theMovie]; 
        [theMovie play];
    }
    @catch (NSException * e) {
        return;
    }
} 

// When the movie is done,release the controller. 
-(void)myMovieFinishedCallback:(NSNotification*)aNotification 
{
    MPMoviePlayerController* theMovie=[aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
                                                    name:MPMoviePlayerPlaybackDidFinishNotification 
                                                  object:theMovie];
    [theMovie release];
    [movieURL release];
    [movieFinishedCallbackDelegate performSelector:movieFinishedCallbackSelector];
}

Ответы [ 2 ]

0 голосов
/ 20 сентября 2010

в письме ios 3.2 используйте MPMoviePlayerViewController. он ведет себя как modelViewcontroller

0 голосов
/ 20 сентября 2010

Вам, вероятно, нужно представить TheMovie:

[self presentMoviePlayerViewControllerAnimated:theMovie];

и изменить на:

MPMoviePlayer Просмотр Контроллер

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...