[iPhone] Cameraでビデオ撮影する, AVCaptureVideoDataOutput

前に UIImagePickerController や AVCaptureStillImageOutput でカメラを扱いましたが
AVCaptureVideoDataOutput でも静止画を撮影できます。ただし基本的には動画撮影用です。

画面タップでシャッターを切る例です、余談ですが、ちょっといじるとプレビュー無しの
無音カメラにできます。

stillimage2
 

Swift 2.0
Xcode 7.0

 

sponsored link

AVCaptureVideoDataOutput

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

Tap を受け取るために
UIGestureRecognizerDelegate
をdelegateで設定します

AVFoundation の framework を
プロジェクトに追加

ViewController.swift

 
AVCaptureDevicePosition.Back
AVCaptureDevicePosition.Front
で背面、前面カメラを切り替えられます

キャプチャ・クオリティの設定は
VideResolution = AVCaptureSessionPresetHigh
としていますが、その他の設定もできます

  1. AVCaptureSessionPresetPhoto
    • 写真用の最大解像度, ビデオ出力ではサポートされない
  2. AVCaptureSessionPresetHigh
    • 最高の録画品質
  3. AVCaptureSessionPresetMedium
    • WiFi共有用
  4. AVCaptureSessionPresetLow
    • 3G共有
  5. AVCaptureSessionPreset352x288
    • CIF
  6. AVCaptureSessionPreset640x480
    • VGA
  7. AVCaptureSessionPreset1280x720
    • HD, 720p
  8. AVCaptureSessionPresetiFrame960x540
    • 960×540のiFrame H.264ビデオ
  9. AVCaptureSessionPresetiFrame1280x720
    • 1280×720iFrame H.264ビデオ

 
関連:

 
Ref:
AVFoundation プログラミングガイド