AVFoundationを使用した動画撮影機能の実装方法
AVFoundationを使用して動画撮影機能を実装する方法についてまとめる。
カメラ映像を表示するために必要な
カメラ、写真アルバムにアクセスする権限リクエスト
キャプチャセッションの構築
キャプチャセッションの開始/停止
については、以下の記事でまとめているので本記事では割愛する。
権限リクエスト
アプリ内でiPhoneのカメラを使用して、音声付きの動画を撮影するためには、マイクを使用する権限が必要になる。
Info.plistファイルの編集
マイクを使用する権限をリクエストするためには、
Privacy - Microphone Usage Description (NSMicrophoneUsageDescription)
のキーとリクエスト理由をInfo.plistファイルに追加する必要がある。
マイクを使用する権限のリクエスト
var isAuthorizedMic: Bool {
get async {
let status = AVCaptureDevice.authorizationStatus(for: .audio)
var isAuthorized = status == .authorized
if status == .notDetermined {
isAuthorized = await AVCaptureDevice.requestAccess(for: .audio)
}
return isAuthorized
}
}
AVCaptureDevice.authorizationStatus(for: .audio)でマイクを使用する権限ステータスを確認
AVCaptureDevice.requestAccess(for: .audio)でマイクを使用する権限をリクエスト
AVCaptureDevice.authorizationStatus(for: .audio)でマイクを使用する権限ステータスを確認する。
アプリ内で一度も権限リクエスト処理を行っていない時 (statusが .notDeterminedの時)は、 AVCaptureDevice.requestAccess(for: .audio)でマイクを使用する権限のリクエストを行う。
ここから先は
5,136字
/
1画像
¥ 200
最後まで記事をお読みいただきありがとうございます! 記事が参考になればフォロー・♥いただけると凄く励みになります🥳