[iPhone] Camera撮影, AVCapturePhotoOutput

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

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

Swift 3.0.2
Xcode 8.2.1

 


AVCapturePhotoOutput

 
カメラなのでシュミレータではデバッグできません、実機で試してください。

the Camera app is available only on hardware devices and cannot be replicated in the simulator

Simulator User Guide
と当然のように言っていましたが、Androidの emulator ではPCのカメラを使ってできるのですが…

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

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

ViewController.swift

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

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

Info.plistの編集も忘れないように -> UIImagePickerController

これを設定しないとエラーになります。

尚、iPhone 7 Plusではdual cameraとなりましたので
そのサポートはまたそれなりに必要です。
 

関連

Ref:
AVCapturePhotoOutput
Sample Code



ページのトップへ戻る

シェアする

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

フォローする