2010-04-04 2 views
0

У меня есть несколько фильмов, которые воспроизводятся и представлены с использованием этого кода.Можете ли вы заставить MPMoviePlayerPlaybackDidFinishNotification?

Как вы можете видеть, я также удалил элементы управления видео по умолчанию и добавил пользовательский оверлей, который по сути просто останавливает видео.

Вот моя проблема ... Когда я останавливаю фильм с моей пользовательской кнопки наложения, не кажется мне быть получение «MPMoviePlayerPlaybackDidFinishNotification»

Примечание: все работает нормально, если я позволяю фильм играть через и он останавливается сам по себе.

Есть ли способ «форсировать» уведомление PlaybackDidFinish?

Могу ли я сделать что-то подобное [self moviePlayBackDidFinish:something]; ?

Спасибо!

- (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]; 



} 

}

ответ

1

Я использую


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