2010-07-22 58 views
2

我有一个MPMoviePlayerViewController的问题,它的属性repeatMode。据说将其设置为MPMovieRepeatModeOne值会导致播放器重复播放。我使用以下代码在循环中播放视频,但在结束后停止播放。MPMoviePlayerViewController repeatMode不工作?

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

回答

1
mpViewController.repeatMode=MPMovieRepeatModeOne; 

为我工作,但我没有URL行或自我的。

我的下一行,上面是[mpViewController play];

1

后删除此行

[self.aPlayer.movi​​ePlayer setRepeatMode:MPMovieRepeatModeOne];

并提出:

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

和实施

- (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]; 
      } 
     } 
    } 
} 
相关问题