2010-07-28 4 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 게시물 알림 그래서 난 그냥이 특별한 경우에 MPMoviePlayerControllers를 사용하여 전환 것 같아요.

+0

[movieControl moviePlayer]를 전달하여 알림을 게시하는 MPMoviePlayerController를 얻을 수 있습니다. –

+0

네, 그 일을 끝내는 방법입니다, 감사합니다! – isaac

2

추측을하지만, 어쩌면 당신은 MPMoviePlayerPlaybackDidFinishNotification 대신 MPMoviePlayerDidExitFullscreenNotification 싶어?

+0

저는 실제로 두 가지 모두 시도했지만 두 경우 모두 내 movieFinished 함수가 호출됩니다. 그러나 DidFinish 대신 DidExitFullScreen을 선택한 이유는 a) 내 영화가 항상 모달로 표시되기 때문입니다. b) DidFinishNotification은 전체 클립이 재생되는 경우에만 생성됩니다. 예를 들어, 사용자가 "완료" 클립이 끝나기 전에 DidFinish는 호출되지 않지만 DidExitFullScreen은 호출됩니다. – isaac

0

나는 MP API에 대해 많이 알지 못하지만 적절한 방법으로 알림을 등록하고 있습니다. MPMoviePlayerDidExitFullscreenNotification이 원하는 알림입니다. 그 (이름으로 만)는 "영화 마침"과 동등한 것처럼 보이지 않습니다. MPMoviePlayerViewController 알림

을 게시하지 않습니다

+0

안녕하세요 - 저는 이전에 댓글을 달았습니다.하지만 두 사람이 내가 전화하는 특정 알림을 검토 할 것을 제안하고 있으므로 그 방향으로 바이올린을 할 것입니다. – isaac