iPhone 11 に搭載された超広角レンズを使って AVFoundation で撮影する方法
環境情報
- Xcode v11.0 (11A420a)
- iPhone 11 Pro Max : iOS 13.0
- Swift 4 プロジェクト
実装方法
ベースとなる AVFoundation のコードは以下のプロジェクトなどを参照。
以下は動画撮影の例だが、コレまで以下のようにカメラを起動していたところがあるとする。
videoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)
この部分を以下のように直せば、超広角レンズが使える時に超広角レンズを採用して撮影できる。
if #available(iOS 13.0, *) {
videoDevice = AVCaptureDevice.default(.builtInUltraWideCamera, for: .video, position: .back)
print("超広角レンズを使用")
} else {
videoDevice = AVCaptureDevice.default(.builtInWideAngleCamera, for: .video, position: .back)
print("通常のレンズを使用")
}
簡単!
また、AVCaptureMultiCamSession を使って、複数のカメラを使って同時に動画を録画するプロジェクトは、以下の記事で紹介している。コチラも併せてドウゾ。