iOS: Как предотвратить исчезновение видеоплеера при переходе в фоновый режим? - PullRequest
4 голосов
/ 16 ноября 2011

У меня есть mpMoviePlayerViewController, который транслирует видео с удаленного сервера.Все работает хорошо, но я заметил, что если я отправляю приложение в фоновый режим (нажатием кнопки «Домой»), когда я снова открываю его, mpMoviePlayerViewController перестает воспроизводиться и исчезает.*

-(void)playVideo:(NSURL *)url{
    mpViewController = [[MPMoviePlayerViewController alloc] initWithContentURL:url];

    if (mpViewController){
        [[NSNotificationCenter defaultCenter]
         addObserver: self
         selector: @selector(myMovieFinishedCallback:)
         name: MPMoviePlayerPlaybackDidFinishNotification
         object: mpViewController.moviePlayer];


        [[NSNotificationCenter defaultCenter]
         addObserver: self
         selector: @selector(myMoviePreloadCallback:)
         name: MPMoviePlayerLoadStateDidChangeNotification
         object: mpViewController.moviePlayer];
    }
}

-(void) myMoviePreloadCallback: (NSNotification*) aNotification{

    [self performSelectorOnMainThread:@selector(myMoviePreloadCallbackMainThread) withObject:nil waitUntilDone:NO];
}

-(void)myMoviePreloadCallbackMainThread{

    [[NSNotificationCenter defaultCenter]
     removeObserver: self
     name: MPMoviePlayerLoadStateDidChangeNotification
     object: mpViewController.moviePlayer];

    [self presentMoviePlayerViewControllerAnimated:mpViewController];

    [mpViewController.moviePlayer play];
}

-(void) myMovieFinishedCallback: (NSNotification*) aNotification
{

    [[NSNotificationCenter defaultCenter]
     removeObserver: self
     name: MPMoviePlayerPlaybackDidFinishNotification
     object: mpViewController.moviePlayer];

    [mpViewController.moviePlayer stop];
    [self dismissMoviePlayerViewControllerAnimated];
    [mpViewController release];
}

Есть ли способ заставить игрока продолжать играть с того места, где он остановился?

...