2012-04-25 3 views
-1

私のアプリケーションを開くとすぐに、ビデオを再生する必要があります。ビデオが完成するまでに、そのビデオにU​​Ibuttonを追加する必要があります。誰かがこの状況に合格した場合はリンクを見つけることができず、それを解決しました。どうすればいいですか? ビデオを追加するためのコードは次のとおりです。ビデオが完成した後に表示するUIButtonを追加する

- (void)viewDidLoad { 
    NSString *url = [[NSBundle mainBundle] pathForResource:@"splash_screen"ofType:@"mp4"];   
    MPMoviePlayerController *player = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:url]]; 
    player.view.frame = self.view.bounds; 
    [self.view addSubview:player.view]; 
    [player play]; 
    [super viewDidLoad]; 
} 
+0

[スーパーのviewDidLoad];常にスーパークラスのメソッドを呼び出します。これにより、スーパークラスは後でメソッドに依存している可能性のある設定を行うことができます。 :) – rishi

+0

@RIP:はい、それは私が望んだので、私は[super viewDidLoad]の上にコードを書いています。 – iYahoo

答えて

1

あなたが使用することができます -

[[NSNotificationCenter defaultCenter] addObserver:self 
             selector:@selector(movieFinished) 
              name:MPMoviePlayerPlaybackDidFinishNotification 
              object:nil]; 

これは「movieFinished」セレクタを呼ぶ映画が完成したら、そのあとは、必要な変更を行うことができます。

+0

私はそこに次のコードで試した答えをありがとうございますMPMoviePlayerController * player = [aNotificationオブジェクト]; [NSNotificationCenter defaultCenter] removeObserver:self 名前:MPMoviePlayerPlaybackDidFinishNotification オブジェクト:player]; [プレーヤーの停止]; [self.view addSubview:newGameBtn]; UIButtonのコードがinitメソッドで実行されていて、アプリケーションがクラッシュしています..saying: - [UIRoundedRectButton superview]:メッセージが割り当て解除されたインスタンスに送信されました。0x6646120 – iYahoo

+0

これは別の場所で問題のようです。 – rishi

+0

いいえ私は解放しなかった。 – iYahoo

1

MPMoviePlayerPlaybackDidFinishNotification通知を使用できます。 For more Info

1

動画の最後にオブザーバーを追加することができます。

次のように観察者が設定できます。

[[NSNotificationCenter defaultCenter] 
        addObserver: self 
         selector: @selector(myMovieFinishedCallback:) 
          name: MPMoviePlayerPlaybackDidFinishNotification 
         object: player]; 

は、より多くの情報については、Apple docリストフルスクリーンムービーを再生する2-1

関連する問題