我可以直接使用AVFoundation通过预览捕获图片:https://gist.github.com/1933313
除了我的图片分辨率为304x400外,一切都很完美。
我的问题是,一旦我尝试将默认sessionPreset
(第16行和第17行)更改为小到AVCaptureSessionPreset640x480
的某些内容,它就会停止工作:它到达第60行并调用[self.stillImageOutput captureStillImageAsynchronouslyFromConnection]
将抛出异常
'NSInvalidArgumentException', reason: '*** -[AVCaptureStillImageOutput captureStillImageAsynchronouslyFromConnection:completionHandler:] - inactive/invalid connection passed.'
因为- (AVCaptureConnection*)getConnection
将返回nil(第61行)
任何人都知道为什么会这样?
PS:我测试的设备是运行iOS 4.2.1的iPhone 3G
答案 0 :(得分:1)
我在他们扭曲的文档中找到了答案:)。 Here is the answer:iPhone 3G不支持640x480分辨率。现在,为什么它支持400x304& 1600x1200,但两者之间没有其他解决方案,它让我不知道......