見出し画像

AVFoundationのカメラ系サンプルを整理する

AVFoundationでカメラを扱うアプリを実装するとき、各クラスやメソッドのAPIリファレンスだけ見ていてもなかなか実装の全体像は見えてこない。そこでAppleの公式サンプルをあたるのだけど、

https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture

ここを見るだけでもかなりある(ここにはない古いものも含めるともっとたくさんある)。

大まかにはタイトルだけでどれが何のサンプルかはわかるのだけど、

「AVAssetWriterを使って動画の録画機能を実装してるサンプルはどれだっけ?」

みたいなときにいつも一通りダウンロードしてどのサンプルに何の実装が含まれているか、みたいなのを見直している気がする。

ので、いったん整理してみる。(調査日は2021.8.23)

## AVCam: Building a Camera App

https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/avcam_building_a_camera_app

iOS 15.0+
Xcode 13.0+
と記載されているが、実際は14.1以上でビルドできる。

利用する`AVCaptureOutput`は`AVCaptureMovieFileOutput`

静止画の撮影と動画の撮影、どちらもサポート。
Live Photoもサポートしている。

`AVSemanticSegmentationMatte` もサポート。

ObjCのサンプルも入っている

## AVMultiCamPiP: Capturing from Multiple Cameras

https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/avmulticampip_capturing_from_multiple_cameras

Availability
iOS 13.0+
Xcode 11.0+

AVCaptureMultiCamSession
AVCaptureVideoDataOutput
AVCaptureAudioDataOutput
AVAssetWriter

AVAssetWriter によるファイル書き出しサンプルは現行サンプルではこれが唯一か。

## AVCamBarcode: Detecting Barcodes and Faces

https://developer.apple.com/documentation/avfoundation/cameras_and_media_capture/avcambarcode_detecting_barcodes_and_faces

ここから先は

1,027字
文章やサンプルコードは多少荒削りかもしれませんが、ブログや書籍にはまだ書いていないことを日々大量に載せています。たったの400円で、すぐに購読解除してもその月は過去記事もさかのぼって読めるので、少しでも気になる内容がある方にはオトクかと思います。

技術的なメモやサンプルコード、思いついたアイデア、考えたこと、お金の話等々、頭をよぎった諸々を気軽に垂れ流しています。

最後まで読んでいただきありがとうございます!もし参考になる部分があれば、スキを押していただけると励みになります。 Twitterもフォローしていただけたら嬉しいです。 https://twitter.com/shu223/