2010-05-11 4 views
1

나는 모달로 MPMoviePlayerViewController을 보여주는보기가 있습니다. iPad 시뮬레이터에서 테스트 할 때 첫 번째 시도에서 잘 작동합니다. 비디오를 닫은 다음 다시보기를 표시하면 플레이어는 오디오 만 재생하지만 비디오는 재생하지 않습니다.iPad 시뮬레이션 MPMoviePlayerViewController

시뮬레이터의 기발한 현상입니까? 아니면 잘못된 것입니까? 여기 내 코드는 다음과 같습니다

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 
    MPMoviePlayerViewController* v = [[MPMoviePlayerViewController alloc] initWithContentURL:url]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector: @selector(playbackDidFinish:) name:MPMoviePlayerPlaybackDidFinishNotification object:v.moviePlayer]; 
    [self presentMoviePlayerViewControllerAnimated:v]; 
    [v release]; 
} 

-(void) playbackDidFinish:(NSNotification*)aNotification 
{ 
    MPMoviePlayerController *player = [aNotification object]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self 
               name:MPMoviePlayerPlaybackDidFinishNotification 
               object:player]; 
    [player stop]; 
    [self dismissMoviePlayerViewControllerAnimated]; 
} 

답변

2

대신 다른 뷰 컨트롤러의 viewWillAppear 한 뷰 컨트롤러를 만들 수있는 코드를 넣는 이유는 단지 직접 MPMoviePlayerViewController을 만들 수 없습니다? 일반적으로보기 컨트롤러는 일부 사용자 작업에 직접 응답하여 생성되거나 표시됩니다. 그 외에도 표시된 코드에는 아무런 문제가 없습니다. 시뮬레이터에서 영화를 재생하는 데 전혀 문제가 없었지만 didSelectRow에 MPMoviePlayerViewController을 만들었거나 버튼 클릭에 대한 응답으로 만들었습니다.

+0

감사합니다. 탭 표시 줄 아이콘을 클릭 한 후 MPMoviePlayerViewController 전체 화면을 표시하려면 다른 뷰 컨트롤러를 사용하고있는 이유입니다. – hpique

+0

탭 표시 줄 컨트롤러 대리자를 사용하여 MPMoviePlayerViewController를 만드는보기를 찾았습니다. 감사! – hpique

관련 문제