2010-04-04 9 views
0

J'ai plusieurs films qui sont joués et présentés en utilisant ce code.Pouvez-vous forcer un MPMoviePlayerPlaybackDidFinishNotification?

Comme vous pouvez le voir, j'ai également supprimé les contrôles vidéo par défaut et ajouté une superposition personnalisée qui arrête essentiellement la vidéo.

Voici mon problème ... Quand j'arrête le film avec mon habitude bouton de superposition, je ne semble pas être obtenir le « MPMoviePlayerPlaybackDidFinishNotification »

Note: tout fonctionne normal si je laisse le film jouer dans et ça s'arrête tout seul.

Est-ce que vous pouvez forcer la notification PlaybackDidFinish? Puis-je faire quelque chose comme [self moviePlayBackDidFinish:something];

?

Merci!

- (void) playMovie { 
NSString *path = [[NSBundle mainBundle] pathForResource:@"movie_frog" ofType:@"m4v"]; 
NSURL *url = [NSURL fileURLWithPath:path]; 
MPMoviePlayerController *mp = [[MPMoviePlayerController alloc] initWithContentURL:url]; 

if(mp) { 

    self.myMoviePlayer = mp; 
    [mp release]; 

    //movie view 
    [self.view addSubview:myMoviePlayer.view]; 
    myMoviePlayer.view.frame = CGRectMake(0.0,0.0,480,320); 
    self.myMoviePlayer.controlStyle = MPMovieControlStyleNone; 
    [self.myMoviePlayer play]; 

    //videoNav 
_videoNav = [[videoNav alloc] initWithNibName:@"videoNav" bundle:nil]; 
[self.view addSubview:_videoNav.view]; 

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



} 

}

Répondre

1

J'utilise


[[NSNotificationCenter defaultCenter] postNotificationName: MPMoviePlayerPlaybackDidFinishNotification object:nil];