[iPhone] Camera撮影, AVCapturePhotoOutput

前に UIImagePickerController でカメラを扱いましたが、AVCapturePhotoOutputを使うとより細かく設定可能です。
iOS9まではAVCaptureStillImageOutputでしたが非推奨となり、代わりがこれです。また他にも設定が変更されました。

画面タップでシャッターを切る例です。
 
AVCapturePhotoOutput
 

Swift 3.0.2
Xcode 8.2.1

 

AVCapturePhotoOutput

 
この記事でのカバー範囲と注意点です。

  1. 実機で試す
    • simulatorではデバッグできません、実機で試してください。
      the Camera app is available only on hardware devices and cannot be replicated in the simulator

      Simulator User Guide
      と当然のように言っていますが、「Androidの emulator」ではPCのカメラを使ってできますよ、Appleさん..

  2. Info.plistの編集
  3. Dual cameraの設定はここではやりません。
  4. Live Photosの設定はここではやりません
    • 正直無意味にファイルが増大する気がします

以下は Appleのサンプルコード を適当にはしょって作りました。ので、本当はもっと細かく設定しないと売り物にはなりませんので。ここでは基本的なところだけです。

Tap を受け取るために UIGestureRecognizerDelegateをdelegateで設定しています。
AVCapturePhotoCaptureDelegateというdelegateも追加されました。

ViewController.swift

 
レイヤーをViewに追加するところを外すとプレビュー無しの撮影になります

position: .back
position: .front
で背面、前面カメラを切り替えられます
 

関連

Ref:
AVCapturePhotoOutput
Sample Code


ページのトップへ戻る

シェアする

  • このエントリーをはてなブックマークに追加

フォローする