作为应用程序的一部分,我正在开发摄像机。相机具有变焦功能。我使用 AVCaptureDevice 的 activeFormat 来确定最大缩放系数:
AVCaptureDevice *device = […];
AVCaptureDeviceFormat *format = device.activeFormat;
CGFloat maxZoomFactor = format.videoMaxZoomFactor;
这适用于 iPhone 5 或更新版本。但在 iPhone 4S 或更早的机型上,maxZoomFactor 始终为 1,即不支持缩放。
我想也许 AVCaptureDevice 的 activeFormat 不是所需/正确的格式,但是遍历设备的所有可用格式表明没有支持缩放的格式。
NSArray *formats = device.formats;
for(AVCaptureDeviceFormat *format in formats){
if(format.mediaType == AVMediaTypeVideo){
CGFloat maxZoomFactor = format.videoMaxZoomFactor; //on iPhone 4S maxZoomFactor is always 1
}
}
我在 iPhone4S 上的 iOS7 上看到过其他应用程序缩放视频(尽管默认相机也不会让你这样做),所以必须有另一种方法。谁能指出我正确的方向?