2012-03-27 3 views
0


Я занимаюсь разработкой приложения для iPhone, и у меня возникает очень незначительная проблема. По сути, когда я загружаю определенное представление, я хочу, чтобы видео воспроизводилось. Когда видео будет воспроизведено, он вернется к просмотру с помощью меню и некоторых параметров. Один из вариантов - повторное воспроизведение видео. В настоящее время у меня есть опция воспроизведения видео, но я не могу воспроизвести видео, когда изображение загружено.Воспроизведение видео при загрузке нового представления

Я реализовал метод playMovie и moviePlayBackDidFinish. Затем я поместил [self playMovie] в метод viewDidLoad, думая, что он сначала назовет метод playMovie и, таким образом, сыграет фильм, когда просмотр загрузится, но он, похоже, не работает.

Если бы кто-нибудь мог объяснить, почему этот способ мышления не работает, а также надлежащий способ сделать это, было бы весьма полезно.

+0

Вы уверены, что видео не играю? Может быть, вы просто не видите этого. Вы проверили порядок просмотра видеороликов? или если уведомление moviePlayBackDidFinish запущено? – erkanyildiz

ответ

1

Я бы попробовал viewDidAppear вместо viewDidLoad в зависимости от вашего viewController. Просмотр может часто загружаться только один раз, и вы можете тратить его на то, что он загружается в фоновом режиме.

Кроме того, Вот пример фильм ли метод Finish, я задаюсь вопросом, если вы высвобождая то, что вы не должны быть, или никогда не говорит фильм, чтобы остановить должным образом:

- (void) moviePlayBackDidFinish:(NSNotification*)notification 
{ 
    NSNumber *reason = [[notification userInfo] objectForKey:MPMoviePlayerPlaybackDidFinishReasonUserInfoKey]; 
    switch ([reason integerValue]) 
    { 
      /* The end of the movie was reached. */ 
     case MPMovieFinishReasonPlaybackEnded: 
      /* 
      Add your code here to handle MPMovieFinishReasonPlaybackEnded. 
      */ 
      break; 

      /* An error was encountered during playback. */ 
     case MPMovieFinishReasonPlaybackError: 
      NSLog(@"An error was encountered during playback"); 
      [self performSelectorOnMainThread:@selector(displayError:) withObject:[[notification userInfo] objectForKey:@"error"] 
           waitUntilDone:NO]; 
      [self removeMovieViewFromViewHierarchy]; 
      [self removeOverlayView]; 
      [self.backgroundView removeFromSuperview]; 
      break; 

      /* The user stopped playback. */ 
     case MPMovieFinishReasonUserExited: 
      [self removeMovieViewFromViewHierarchy]; 
      [self removeOverlayView]; 
      [self.backgroundView removeFromSuperview]; 
      break; 

     default: 
      break; 
    } 
} 
+0

Удивительные благодарности Эрик. Я реализовал viewDidAppear и поместил [self playMovie] в него, и он работает в обаянии! – Franklin

+0

Мое удовольствие, удачи – Eric

Смежные вопросы