2012-03-13 13 views
0

MPMoviePlayerControllerインスタンスに再生メッセージを送信する適切なポイントは、splitView詳細ビューコントローラでインスタンス化されていますか?MPMoviePlayerController - スプリットビューコントローラは、レイアウト前に子を設定する必要があります

私のアプリは、アプリは、資産URL からムービーを再生するMPMoviePlayerControllerを利用して、次のようにresponsilbleメソッドが呼び出され...

を(!付き)上記コンソールメッセージを受信したがクラッシュされていません。

- (void)viewDidAppear:(BOOL)animated 
{ 
    [super viewDidAppear:animated]; 
    [self startPlayingVideo:self]; 
} 

私はviewWillAppear:animate:へのメソッド呼び出しを移動する場合は、コンソールメッセージが表示されません。これは、ビデオがうまく演じているが、コンソールメッセージが迫っている... 。 問題は今では音声のみしか聞こえず、ビデオは見えません。完全を期すため

は、ここで

- (void) startPlayingVideo:(id)sender 

    NSURL *movieURL = [NSURL URLWithString:self.movieURLString]; 

    if (self.moviePlayer != nil){ 
     [self stopPlayingVideo:nil]; 
    } 

    self.moviePlayer = [[MPMoviePlayerController alloc] initWithContentURL:movieURL ]; 

    if (self.moviePlayer != nil){ 

     [[NSNotificationCenter defaultCenter] 
     addObserver:self 
     selector:@selector(videoHasFinishedPlaying:) 
     name:MPMoviePlayerPlaybackDidFinishNotification 
     object:self.moviePlayer]; 

     self.moviePlayer.scalingMode = MPMovieScalingModeAspectFit; 

     [self.moviePlayer prepareToPlay]; 
     [self.moviePlayer play]; 

     [self.view addSubview:self.moviePlayer.view]; 
     [self.moviePlayer setFullscreen:YES animated:YES]; 

    } else { 
     NSLog(@"Failed to instantiate the movie player."); 
    } 
} 

答えて

0

私の元の問題は、(詳細ナビゲーションコントローラ内に埋め込まれた)全く別のViewControllerとしてMoviePlayerControllerを有するから生じ...と呼ばれる方法です。親ビューにmoviePlayerの子ビューを組み込むように再設計しました。これは問題を解決しました。

関連する問題