I am trying to capture a photo using AVCapturePhotoOutput but the image is getting dark. Here is how I am getting the image
@IBAction func capturephoto(_ sender: Any) {
print("entered into capture photo")
let settings = AVCapturePhotoSettings()
let previewPixelType = settings.availablePreviewPhotoPixelFormatTypes.first!
let previewFormat = [
kCVPixelBufferPixelFormatTypeKey as String: previewPixelType,
kCVPixelBufferWidthKey as String: self.preivew.frame.width,
kCVPixelBufferHeightKey as String: self.preivew.frame.height
] as [String : Any]
settings.previewPhotoFormat = previewFormat
captureSession.addOutput(stillImageOutput)
print("stillimageoutput is",stillImageOutput)
self.stillImageOutput.capturePhoto(with: settings, delegate: self)
}
func photoOutput(_ output: AVCapturePhotoOutput, didFinishProcessingPhoto photo: AVCapturePhoto, error: Error?) {
if let error = error {
print(error.localizedDescription)
}
let imageData = photo.fileDataRepresentation()
if let data = imageData, let img = UIImage(data: data) {
print(img)
}
}