我在AVCaptureVideoDataOutput和AVCaptureStillImageOutput的情况下获得了静止图像,但是当我使用captureStillImageAsynchronouslyFromConnection获取静态图像时花费了很多时间(2s),
当我使用AVCaptureStillImageOutput时,获取时间为0.5秒的静止图像。
如何在AVCaptureVideoDataOutput和AVCaptureStillImageOutput的情况下减少时间。
答案 0 :(得分:3)
您从 AVCaptureVideoDataOutput 获得的照片是低质量照片,如果您想要与 AVCaptureStillImageOutput 拍摄的照片质量相同,不幸的是,你没有选择等待的时间。
如果不考虑图像质量,请尝试使用可用的光学效果更改会话预设,
//----- SET THE IMAGE QUALITY / RESOLUTION -----
//Options:
// AVCaptureSessionPresetHigh - Highest recording quality (varies per device)
// AVCaptureSessionPresetMedium - Suitable for WiFi sharing (actual values may change)
// AVCaptureSessionPresetLow - Suitable for 3G sharing (actual values may change)
// AVCaptureSessionPreset640x480 - 640x480 VGA (check its supported before setting it)
// AVCaptureSessionPreset1280x720 - 1280x720 720p HD (check its supported before setting it)
// AVCaptureSessionPresetPhoto - Full photo resolution (not supported for video output)
NSLog(@"Setting image quality");
[CaptureSession setSessionPreset:AVCaptureSessionPresetMedium];
更改预设将导致不同的处理时间。