I have a code that set a camera view as a subview, what i need is when i click a button it takes a picture from this AVCaptureSession
and save it in to the photo library, how can i achive this?
Heres is my code:
AVCaptureSession *session = [[AVCaptureSession alloc] init]; AVCaptureOutput *output = [[AVCaptureStillImageOutput alloc] init]; [session addOutput:output];
//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];