2010-07-28 3 views
0

Не могу понять, почему я не получаю свой обратный вызов - никаких советов?NSNotification, не получая обратный вызов

-(void) playMovieWithURL:(NSURL *)url { 

    [currentVC.view removeFromSuperview]; 

    MPMoviePlayerViewController *movieControl = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 

    //register for playback finished call 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(movieFinished:) name:MPMoviePlayerDidExitFullscreenNotification object:movieControl]; 

    [self presentMoviePlayerViewControllerAnimated:movieControl];  
} 

-(void) movieFinished:(NSNotification *)aNotification { 

    NSLog(@"received callback that movie finished"); 

    MPMoviePlayerController *movie = [aNotification object]; 

    [movie.view removeFromSuperview]; 

    [[NSNotificationCenter defaultCenter] removeObserver:self name:MPMoviePlayerDidExitFullscreenNotification object:movie]; 

    [movie release]; 

    [self.view addSubview:currentVC.view];  
} 

ответ

2

MPMoviePlayerController сообщений уведомления MPMoviePlayerViewController не отправляет уведомления

Так что я полагаю, я просто переключиться на использование MPMoviePlayerControllers в данном конкретном случае.

+0

Вы можете просто перейти в [movieControl moviePlayer], чтобы получить MPMoviePlayerController, который отправляет уведомления. –

+0

Да, вот как я это сделал, спасибо! – isaac

2

Wild догадки, но, может быть, вы хотите MPMoviePlayerPlaybackDidFinishNotification вместо MPMoviePlayerDidExitFullscreenNotification?

+0

Я действительно пробовал оба, и ни в коем случае не вызывал мою функцию MovieFinished. Однако причина, по которой я выбрал DidExitFullScreen вместо DidFinish, заключается в том, что: а) мой фильм всегда представлен в виде модально; б) DidFinishNotification генерируется только в том случае, если весь клип воспроизводится - например, если пользователь нажимает «сделать», до того, как клип закончится, DidFinish не будет вызываться, тогда как DidExitFullScreen будет. – isaac

0

Я мало знаю о MP API, но вы регистрируетесь для уведомления разумным способом. Вы уверены, что MPMoviePlayerDidExitFullscreenNotification - это то, что вы хотите? Это (по имени) не похоже на «фильм закончен».

+0

Привет, я прокомментировал предыдущее, но, поскольку два человека предлагают мне просмотреть конкретное уведомление, которое я звоню, я собираюсь играть в этом направлении. – isaac

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