我有一个将相机视图设置为子视图的代码,我需要的是当我单击一个按钮时,它会从中拍摄一张照片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];