avfoundation

Generate AVFoundation camera capture, playback, and media composition code for Apple platforms.

4|1|Updated Apr 2, 2026
One-click install
npx skills add https://github.com/AutisticAF/claude-code-apple-dev-plugin --skill avfoundation
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: avfoundation
Source: https://github.com/AutisticAF/claude-code-apple-dev-plugin/tree/main/skills/avfoundation
Command: npx skills add https://github.com/AutisticAF/claude-code-apple-dev-plugin --skill avfoundation

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

Working with AVFoundation is complex and error-prone across camera capture, audio/video playback, session configuration, permissions, and media export; this skill centralizes patterns, safe threading, and common code examples to help developers implement these features correctly.

Core Features & Use Cases

  • Camera capture setups including photo and video recording with AVCaptureSession and AVCapturePhotoOutput/AVCaptureMovieFileOutput.
  • Playback patterns using AVPlayer, AVPlayerViewController, and SwiftUI VideoPlayer with status and time observation.
  • Audio session configuration and interruption handling for playback, recording, and video chat use cases.
  • Media composition and export using AVMutableComposition, AVVideoComposition, and AVAssetExportSession, plus guidance on permissions and Info.plist requirements.

Quick Start

Ask the skill to generate a SwiftUI camera preview using AVCaptureSession with proper permission checks, a dedicated session queue, and start/stop lifecycle handling.

Frequently Asked Questions about avfoundation

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up an AVCaptureSession for camera capture in SwiftUI?

AVMutableComposition combines multiple audio and video tracks, while AVAssetExportSession exports the composed media to a final file, requiring proper Info.plist permission configuration for media access.

What's the best way to observe AVPlayer status and time during media playback?

Observing AVPlayer and AVPlayerItem status requires adding key-value observers and time observers to track playback readiness and current time, applicable when using AVPlayerViewController or SwiftUI VideoPlayer.

How do I configure AVAudioSession for recording and video chat?

Configuring AVAudioSession involves setting category options for playback, recording, or video chat use cases, and implementing interruption handling to manage audio focus changes across Apple platforms like iOS and macOS.

Can I use AVMutableComposition to merge video tracks and export the result?

AVMutableComposition merges multiple audio and video tracks, while AVAssetExportSession exports the composed media to a final file, requiring proper Info.plist permission configuration for media access.

Does AVFoundation support real-time frame processing on visionOS?

AVFoundation supports real-time frame processing via AVCaptureVideoDataOutput across Apple platforms including iOS, macOS, and visionOS, utilizing safe threading patterns and a dedicated session queue for frame delivery.