2016-05-17 84 views
0

我需要使用GPUImageStillCamera捕捉最高分辨率的图像,我已经尝试过这些属性,如:AVCaptureSessionPresetPhoto,AVCaptureSessionPreset1920x1080。它给我一点点好结果。请注意,当我使用属性AVCaptureSessionPresetPhoto而不是AVCaptureSessionPresetHigh捕获图像时,它(AVCaptureSessionPresetPhoto)会比AVCaptureSessionPresetHigh给出更好的结果。但是,当我使用属性AVCaptureSessionPreset3840x2160表示:iOS - 如何使用GPUImageStillCamera捕捉图像:分辨率为3840x2160?

videoCamera = [[GPUImageStillCamera alloc] initWithSessionPreset:AVCaptureSessionPreset3840x2160 cameraPosition:AVCaptureDevicePositionBack]; . 

我的应用程序崩溃(甚至在最新的iPhone版本),并显示该邮件(我使用iPhone 5的S,版本:9.3.1,版本的Xcode:7.3)

由于未捕获的异常而终止应用程序 'NSInvalidArgumentException',原因:'AVCaptureSessionPreset3840x2160 不支持预设。

有没有办法检查iOS设备是否支持具体的AVCaptureSessionPreset?我想设置AVCaptureSession的分辨率,但是我不知道如何检查设备是否能够使用选定的分辨率捕捉相机帧。 总之,我需要为所有不同的iPhone设备提供最高质量,最大尺寸的图像。任何建议都会很棒。多谢你们。

回答

0

您可以使用AVCaptureSessionsessionPreset属性类似下面,

cameraSession.sessionPreset = AVCaptureSessionPresetHigh; 

你应该试着在你的代码也AVCaptureSessionPresetHigh

希望这会有所帮助:)