アプリの一部として、ビデオカメラを開発しています。カメラにはズーム機能があります。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 でビデオをズームするのを見たことがあります (ただし、デフォルトのカメラではズームできません)。別の方法があるはずです。誰かが私を正しい方向に向けることができますか?