2012-01-12 9 views
3

AVCaptureMovieFileOutputを使用してビデオをキャプチャしようとしています。そのために私はリンゴのサンプルコードを使用しています。私は、次のコードを使用しています。この上ではなく、スタートビデオキャプチャのための偉大なuderstandingを持っていない:ここではAVCaptureMovieFileOutput startRecordingToOutputFileURL:recordingDelegate:代理人を呼び出さない

-(void)startRecordingWithOrientation:(AVCaptureVideoOrientation)videoOrientation; 
{ 
    AVCaptureConnection *videoConnection = [AVCamUtilities connectionWithMediaType:AVMediaTypeVideo fromConnections:[[self movieFileOutput] connections]]; 
    if ([videoConnection isVideoOrientationSupported]) 
     [videoConnection setVideoOrientation:videoOrientation]; 

    [[self movieFileOutput] startRecordingToOutputFileURL:[self outputFileURL] recordingDelegate:self]; 
// After this method my session say recording is yes. 
} 

[self movieFileOutput]AVCaptureMovieFileOutputのオブジェクトを返します。 これ以上のことを処理するためのデリゲートメソッドがあります。

プロブラマチック部分は代議員ですAVCaptureMovieFileOutputのメソッドはいつか呼ばれていますが、これはしばらくしていません。 おそらく、最初に録音した後にこのページをポップアップした後、この画面に戻ってきたら、デリゲートメソッドが呼び出されていないことに気付くでしょう。 私はアプリケーションを終了する必要があり、これは新しい録音のために機能します。

解決策を教えてください。

EDIT:アプリケーションを削除し、アプリケーションを再インストールすると、デリゲートメソッドが1回だけ呼び出します。その後、これは決して呼び出されません。たとえ私がビデオをキャプチャして画面に来ても、代理人に戻っても呼ばれることはありません。リンゴのAVCamデモを使用していて、レコーダー画面の前に画面を追加しました。

答えて

2

保存しようとしているファイルがまだ存在していませんか? これが行われた場合、ムービーキャプチャが開始されず、したがって、削除メソッドは呼び出されません。

関連する問題