2010-07-22 13 views
2

J'ai un problème avec MPMoviePlayerViewController et sa propriété repeatMode. Il est indiqué que le réglage à une valeur MPMovieRepeatModeOne entraînera le joueur à répéter la lecture. J'utilise le code suivant pour lire la vidéo dans une boucle mais il s'arrête juste après la fin.MPMoviePlayerViewController repeatMode ne fonctionne pas?

MPMoviePlayerViewController *mpViewController =[[MPMoviePlayerViewController alloc] init]; 
mpViewController.moviePlayer.contentURL= movieURL; 
self.aPlayer=mpViewController; 
self.aPlayer.moviePlayer.repeatMode=MPMovieRepeatModeOne; 

Répondre

1
mpViewController.repeatMode=MPMovieRepeatModeOne; 

travaillé pour moi, mais je n'avais pas la ligne URL ou l'auto. De

Ma ligne suivante après ce qui précède était [mpViewController play];

1

Retirer cette ligne

[self.aPlayer.moviePlayer setRepeatMode: MPMovieRepeatModeOne];

et mettre:

[[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(moviePlayerDidChangeState:) 
               name:MPMoviePlayerPlaybackStateDidChangeNotification 
               object:self.player]; 

et mettre en œuvre

- (void)moviePlayerDidChangeState:(NSNotification *)note 
{ 


    MPMoviePlaybackState playbackState = [self.player playbackState]; 
    if(playbackState==MPMoviePlaybackStateStopped ||playbackState==MPMoviePlaybackStatePaused || playbackState==MPMoviePlaybackStateInterrupted) 
    { 
     if (note.object == self.player) { 
      NSInteger reason = [[note.userInfo objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey] integerValue]; 
      if (reason == MPMovieFinishReasonPlaybackEnded) 
      { 
       [self.player play]; 
      } 
     } 
    } 
}