2012-10-08 16 views
10

Być może nie sformułowałem mojego tytułu bardzo dobrze, może bardziej poprawne jest stwierdzenie, że moje NSNotification nie zwalnia widoku mojego filmu po jego zakończeniu. Znalazłem innych z tym problemem, ale bez rozwiązań. Wygląda na to, że może to być problem z iOS 6, który właśnie używam.MPMoviePlayerController nie odrzuci automatycznie filmu po skończeniu gry (ios 6)

Po zakończeniu odtwarzania wideo należy nacisnąć przycisk "Gotowe", aby odrzucić, ale chcę, aby odrzucił się automatycznie, ponieważ będę używał MPMovieControlStyleNone, gdy tylko otrzymam to uporządkowane. Oto mój kod z niewykorzystanych odcinków okorowane: `

#import "MovieViewController.h" 

@interface MovieViewController() 

@end 

@implementation MovieViewController 

@synthesize moviePlayer = _moviePlayer; 

- (IBAction)playMovie:(id)sender 
{ 
    NSURL *url = [NSURL fileURLWithPath:[[NSBundle mainBundle] 
             pathForResource:@"TestMovie" ofType:@"mov"]]; 
    _moviePlayer = 
    [[MPMoviePlayerController alloc] 
    initWithContentURL:url]; 

    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayBackDidFinish:) 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:_moviePlayer]; 

    _moviePlayer.controlStyle = MPMovieControlStyleDefault; 
    _moviePlayer.shouldAutoplay = YES; 
    [self.view addSubview:_moviePlayer.view]; 
    [_moviePlayer setFullscreen:YES animated:NO]; 
} 

- (void) moviePlayBackDidFinish:(NSNotification*)notification { 

    MPMoviePlayerController *player = [notification object]; 

    [[NSNotificationCenter defaultCenter] removeObserver:self 
                name:MPMoviePlayerPlaybackDidFinishNotification 
                object:player]; 

    if ([player 
     respondsToSelector:@selector(setFullscreen:animated:)]) 
    { 
     [player.view removeFromSuperview]; 
    } 
} 

@end` 

Odpowiedz

18

miał ten problem, a także Aby rozwiązać w moviePlayBackDidFinish wystarczy dodać

przed wyjęciem widok z SuperView

+0

Wreszcie, rozwiązanie! To działało idealnie, dziękuję. – robertfiorentino

+0

Doskonałość odpowiedz .. w górę głos .. –

+2

Potrzebuję go do tyłu. Chcę, aby MPMoviePlayerController nie był automatycznie odrzucany. Użytkownik może go zamknąć za pomocą przycisku * Gotowe * –