2012-01-05 4 views
4

アップルサイトからAVCamデモをダウンロードし、簡単な開始画面(StartViewController。{h、m、nib}を追加)を追加しようとしました。 AVCamデモ次のようにボタンのコードは、(他のすべては、Xcodeのによって作成されただけで、デフォルトのものである)である:captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandlerが常に呼び出されない

-(IBAction) btnClicked:(id) sender { 
    viewController = 
    [[AVCamViewController alloc] 
     initWithNibName: @"AVCamViewController" 
     bundle:nil]; 

    [UIView beginAnimations:@"flipping view" context:nil]; 
    [UIView setAnimationDuration:1]; 
    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp 
         forView:self.view 
         cache:YES]; 
    [self.view addSubview:viewController.view]; 
    [UIView commitAnimations]; 
} 

どういうわけか、このペン先を追加した後、写真を撮ることは、すべての時間を動作しません(時には何の絵がで終わるんカメラロール)。 captureStillImageAsynchronouslyFromConnection:stillImageConnection completionHandlerのcaptureStillImageにいくつかのログステートメントを追加し、このcompletionHandlerが常に呼び出されるとは限りません。奇妙なことは、それは時間のいくつかを動作させることです。私の推測では、私は何か間違っているが、何が確実でないかということですか? 4.2.1を実行しているiPhoneでこれをテストしています。

答えて

2

captureStillImageAsynchronouslyFromConnection:stillImageConnection

+0

これは間違いなく実行されています。私は以下のチェックをしています: if(![session isRunning]) NSLog(@ "sesionは実行されていません!?!、nil); AVCamコードは基本的に変更されていません。変更されたのは開始ビューを追加することだけでした。 – michael

1

を呼び出すときAVCaptureSessionが実行されていることを確認してくださいcaptureStillImageAsynchronouslyFromConnection:stillImageConnectionで渡さconnectionが無効であることの例外を上げたところさて、私は同様の問題に直面していました。後で、セッションのためにpropertiesを作成し、値を保持するためにstillImageOutPutを作成したときに、問題が解決されたことがわかりました。

0

私にとって、この問題はシングルコアiPhone 4でのみ発生し、AVCaptureSessionPresetHighで静止画をキャプチャしようとすると発生します。

私はAVCaptureSessionPresetPhotoを試しましたが、この問題は消えました。しかし、フルサイズの写真は必要ありませんので、私は別の解決策を探しました。

メインキューにcaptureStillImageAsynchronouslyFromConnectionを配置しました。このようなもの

なぜこの問題が存在するのか不明である理由がわからないのはなぜですか。しかし、これが誰かを助けることができれば幸いです

関連する問題