作为预设,AVCaptureSessionPresetHigh
对我来说很有意义。硬件总是在变化,有一个选项可以告诉AVCapture“我希望你能给我最高质量的现有硬件”但是什么让我疯狂,只是因为我想将会话设置为抽象值,并不意味着我不需要知道它显示的分辨率。
确定当前分辨率的唯一方法是实际捕获帧并检查所述帧的大小。或者更糟糕的是,手动查找所有这些分辨率,创建查找字典,询问设备的模型,然后获取硬编码的分辨率。这是一个完整的黑客,但仍然强制帧捕获,然后询问UIImage的帧大小。
我迫切需要这些信息,以便根据相机提供的宽高比动态制作决策。为什么苹果没有这种简单查询的界面?
是否有人知道在整个苹果硬件市场中列出两个摄像头的所有可能分辨率的资源?我可以谷歌通过一些,但我无法追查完整的列表。
答案 0 :(得分:2)
鉴于AVCaptureDevice
,您应该能够在formats
进行枚举或检查activeFormat
,然后查看生成的highResolutionStillImageDimensions
的{{1}}。