5

我有一个将相机视图设置为子视图的代码,我需要的是当我单击一个按钮时,它会从中拍摄一张照片AVCaptureSession并将其保存到照片库中,我该如何实现?

这是我的代码:

AVCaptureSession *session = [[AVCaptureSession alloc] init]; AVCaptureOutput *output = [[AVCaptureStillImageOutput alloc] init]; [会话添加输出:输出];

    //Setup camera input
    NSArray *possibleDevices = [AVCaptureDevice devicesWithMediaType:AVMediaTypeVideo];
    //You could check for front or back camera here, but for simplicity just grab the first device
    AVCaptureDevice *device = [possibleDevices objectAtIndex:1];

    NSError *error = nil;
    // create an input and add it to the session
    AVCaptureDeviceInput *input = [AVCaptureDeviceInput deviceInputWithDevice:device error:&error]; //Handle errors

    //set the session preset
    session.sessionPreset = AVCaptureSessionPresetMedium; //Or other preset supported by the input device
    [session addInput:input];

    AVCaptureVideoPreviewLayer *previewLayer = [AVCaptureVideoPreviewLayer layerWithSession:session];

    previewLayer.affineTransform = CGAffineTransformMakeRotation(M_PI_2);
    //Set the preview layer frame
    previewLayer.frame = CGRectMake(45, 55, 512, 387);
    //Now you can add this layer to a view of your view controller
    [self.cameraPlace.layer addSublayer:previewLayer];
    [session startRunning];
4

0 回答 0