Corredor

ウェブ、プログラミングの勉強メモ。

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

環境情報

  • Xcode v11.0 (11A420a)
  • iPhone 11 Pro Max : iOS 13.0
  • Swift 4 プロジェクト

実装方法

ベースとなる AVFoundation のコードは以下のプロジェクトなどを参照。

github.com

以下は動画撮影の例だが、コレまで以下のようにカメラを起動していたところがあるとする。

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

neos21.hatenablog.com

github.com

iPhone SDK Application Development: Building Applications for the AppStore

iPhone SDK Application Development: Building Applications for the AppStore