0

IPADフロントカメラから自動的に写真を撮るために次のコードを使用しています:

UIImagePickerController *imgPkr = [[UIImagePickerController alloc] init];
        imgPkr.sourceType = UIImagePickerControllerSourceTypeCamera;
        imgPkr.delegate = self;

        imgPkr.cameraDevice=UIImagePickerControllerCameraDeviceFront;
        [self presentModalViewController:imgPkr animated:YES];
        imgPkr.showsCameraControls = NO;
        [imgPkr takePicture];

ただし、このコードは写真を撮ったり、デリゲートを呼び出したりしないでください。

    -(void)imagePickerController:(UIImagePickerController*)picker
didFinishPickingMediaWithInfo:(NSDictionary*)info

コードの何が問題なのか

4

3 に答える 3

4

私の最初の推測は[imgPkr takePicture];、ピッカーが提示される前に呼び出されているということです。このようにしてみてください:

UIImagePickerController *imgPkr = [[UIImagePickerController alloc] init];
        imgPkr.sourceType = UIImagePickerControllerSourceTypeCamera;
        imgPkr.delegate = self;

        imgPkr.cameraDevice=UIImagePickerControllerCameraDeviceFront;
        [self presentModalViewController:imgPkr animated:YES];
        imgPkr.showsCameraControls = NO;
        [self performSelector:@selector(takePicture) withObject:self afterDelay:1.0];

また

[[NSNotificationCenter defaultCenter] addObserver:self
                                         selector:@selector(takePicture)
                                             name:AVCaptureSessionDidStartRunningNotification 

object:nil];

- (void)takePicture
{
    [imgPkr takePicture];
}
于 2012-07-18T12:33:47.503 に答える
2

私はあなたがあなたのログにそれを言っているメッセージを受け取るに違いない

UIImagePickerController:写真を撮るリクエストを無視します。カメラはまだ準備ができていません。

基になるキャプチャセッションの開始には時間がかかるため、これは一般的な問題です。カメラが写真を撮る準備ができていることを確認してから、メソッド呼び出す必要があります。takePictureさて、通知を受け取る方法は、ここでの私の答えで詳細に説明されています: iPhoneカメラが写真を撮る準備ができているかどうかを知る方法は? ただし、この方法はiOS5以降で機能することに注意してください(古いバージョンには、ドキュメントに記載されている内容とは異なり、このイベントのシステム通知を妨げるバグがあります)。これがお役に立てば幸いです。

于 2012-07-18T12:34:11.723 に答える
0

写真を撮るまでカメラの準備が完了するのを待つ別の方法は、完了ブロックです ->

[self presentViewController:imagePicker animated:YES
                 completion:^ {
                     [imagePicker takePicture];
                 }];

プログラムで写真を撮るiOSの「GrandSteph」に感謝します

于 2014-07-23T17:28:43.730 に答える