iPhone 11 に搭載された超広角レンズを使って AVFoundation で撮影する方法

環境情報

実装方法

ベースとなる 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 を使って、複数のカメラを使って同時に動画を録画するプロジェクトは、以下の記事で紹介している。コチラも併せてドウゾ。