2012-03-23 21 views
1

私のプロジェクトにはビデオがあります。私はMPMoviePlayerControllerでそれを再生するが、アプリケーションは秒間ロードする時間がかかります。今私は別の機能を昼食したい。ビデオが再生を開始するとき。ビデオが既にロードされて再生を開始したことと、別の機能を呼び出す方法を知るにはどうすればいいですか?それは再生するとき???動画の再生を知るにはどうすればよいですか?

私は私を案内できますか?ここ

は、いくつかの簡単なコード

-(IBAction)testVideoLongPress:(id)sender 
{ 
    NSString *moviePath = [[NSBundle mainBundle] pathForResource:@"video1" ofType:@"MOV"]; 
    movie = [[MPMoviePlayerController alloc] initWithContentURL:[NSURL fileURLWithPath:moviePath]]; 
    movie.view.backgroundColor = [UIColor blackColor]; 
    movie.controlStyle = MPMovieControlStyleDefault; 
    movie.shouldAutoplay = YES; 

    movie.view.frame = CGRectMake(0, 50, 720, 1280); 
    [self.view addSubview:movie.view]; 
    [movie play]; 
} 

-(void)wannalunchthismethod 
{ 
.... 
} 

答えて

4

MPMoviePlayerControllerMPMoviePlayerLoadStateDidChangeNotification通知を見ていると、あなたは「遊び」に変更し、ムービープレーヤーの状態をキャッチできるようになります。

+0

非常にありがとう。私は試してみてください:) – crazyoxygen

+0

私はそれを得たが、私は質問をする。 if([movie loadState] == MPMovieLoadStatePlayable){ NSLog(@ "MPMovieLoadStatePlayable"); } else if([movie loadState] == MPMovieLoadStatePlaythroughOK) { NSLog(@ "MPMovieLoadStatePlaythroughOK"); } else if([movie loadState] == MPMovieLoadStateStalled) { NSLog(@ "MPMovieLoadStateStalled"); } else if([movie loadState] == MPMovieLoadStateUnknown) { NSLog(@ "MPMovieLoadStateUnknown"); } NSLogがいつ表示されますか。私はstateplayable、Playthroughokを理解していないし、ストールしました。 – crazyoxygen

+0

@crazyoxygen [AppleのMPMoviePlayerControllerのドキュメント](https://developer.apple.com/library/ios/#documentation/MediaPlayer/Reference/MPMoviePlayerController_Class/Reference/Reference.html)を見て、 'MPMovieLoadStatePlaythroughOK '、あなたはこれらの異なる州が何を意味するかを見るかもしれません。 –