以编程方式确定可用的iPhone相机分辨率

3
似乎当我使用UIImagePickerControllerQualityTypeMedium拍摄视频时,在iPod Touch上的分辨率为480x360,但在iPhone 4上则更高(因为我目前没有iPhone 4无法确定具体数值),而在iPad 2上可能与iPhone 4相同,或者另有不同。 我希望在所有设备上都能以相同的质量拍摄 - 我还需要添加一些帧和标题,如果只需对一个分辨率进行编码,那我的工作会变得容易得多。有没有办法在运行时确定不同的UIImagePickerControllerQualityType值对应什么?(除了用每个参数拍摄视频然后检查结果之外?) 或者我的唯一选择是使用UIImagePickerControllerQualityType640x480吗?

1个回答

2
如果您需要在iOS上进行更多的自定义/强大操作,而高级对象(如UIImagePickerController)无法满足需求,建议在下一个较低的层面工作:AV Foundation Framework。苹果公司有一些关于AV Foundation编程的优秀文档,对此非常有用。
不幸的是,即使在那里,如果您希望在所有设备上都能够使用标准分辨率,您也仅限于捕获640x480。但是,在同一链接下有一个很棒的表格可用(但锚点在文档中被破坏了,因此请使用Ctrl+F查找“Capturing Still Images”),其中列出了各种设备在特定质量指令下的所有分辨率。
如果640x480太小,则最好的选择是设计某种缩放算法,以便根据整体分辨率进行缩放。

我已经深入研究了AVFoundation的撰写方面文档,所以我会记住的。虽然错过了这个图表,还是谢谢。 - David Moles
2
未来的读者请注意:苹果已经将文档移动到了http://developer.apple.com/library/ios/#documentation/AudioVideo/Conceptual/AVFoundationPG/Articles/04_MediaCapture.html#//apple_ref/doc/uid/TP40010188-CH5-SW30(仍然在“捕获静止图像”下)。不幸的是,它还没有更新以包括带有相机的iPad。 - David Moles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接