O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Learning AV Foundation: A Hands-on Guide to Mastering the AV Foundation Framework

Book Description

AV Foundation for iOS and OS X® Programming—Get Started Fast!

If you develop media-rich iOS or OS X apps, you can do amazing things with Apple’s AV Foundation. However, the framework is extremely large, reliant on cutting-edge language features, and poorly documented. Now, there’s a more productive way to master these immensely powerful technologies: Bob McCune’s Learning AV Foundation.

McCune’s live presentations and GitHub projects have already helped thousands of Apple developers get started with AV Foundation. Building on his experience, McCune helps you gain true mastery by creating real-world apps, hands-on.

You’ll build a voice memo app, custom video player, video editor, and an image/video camera app. As you proceed, you’ll master all the techniques you need to write your own advanced media apps from scratch. Throughout, McCune provides carefully crafted challenges and complete starter apps—all designed to help you deepen your understanding and make the most of Apple’s breakthrough media framework.


  • Understanding how AV Foundation fits in Apple’s media environment and each of its key areas of functionality

  • Enabling your apps with audio playback and recording features

  • Enhancing video playback to deliver a richer, more dynamic experience

  • Using AV Kit to match your user interfaces with iOS Videos or OS X QuickTime Player

  • Developing media capture apps with real-time video processing using OpenGL ES and Core Image

  • Implementing custom video players

  • Integrating advanced capture features such as video zooming, face detection, barcode scanning, and high frame rate capture

  • Mixing multiple audio tracks and automating volume control

  • Building sophisticated non-linear, non-destructive editing apps

  • Adding advanced video editing capabilities, such as video transitions and animation effects

  • Table of Contents

    1. About This eBook
    2. Title Page
    3. Copyright Page
    4. Dedication Page
    5. Contents
    6. Foreword
    7. Preface
      1. Audience for This Book
      2. How This Book Is Organized
      3. About the Sample Code
      4. Contacting the Author
    8. Acknowledgments
    9. About the Author
    10. I: AV Foundation Essentials
      1. 1. Getting Started with AV Foundation
        1. What Is AV Foundation?
        2. Where Does AV Foundation Fit?
        3. Decomposing AV Foundation
        4. Understanding Digital Media
        5. Digital Media Compression
        6. Container Formats
        7. Hello AV Foundation
        8. Summary
        9. Challenge
      2. 2. Playing and Recording Audio
        1. Mac and iOS Audio Environments
        2. Understanding Audio Sessions
        3. Audio Playback with AVAudioPlayer
        4. Building an Audio Looper
        5. Configuring the Audio Session
        6. Handling Interruptions
        7. Responding to Route Changes
        8. Audio Recording with AVAudioRecorder
        9. Building a Voice Memo App
        10. Enabling Audio Metering
        11. Summary
      3. 3. Working with Assets and Metadata
        1. Understanding Assets
        2. Creating an Asset
        3. Asynchronous Loading
        4. Media Metadata
        5. Working with Metadata
        6. Building the MetaManager App
        7. Saving Metadata
        8. Summary
        9. Challenge
      4. 4. Playing Video
        1. Playback Overview
        2. Playback Recipe
        3. Working with Time
        4. Building a Video Player
        5. Time Observation
        6. Creating a Visual Scrubber
        7. Showing Subtitles
        8. Airplay
        9. Summary
        10. Challenge
      5. 5. Using AV Kit
        1. AV Kit for iOS
        2. AV Kit for Mac OS X
        3. First Steps
        4. Control Styles
        5. Going Further
        6. Working with Chapters
        7. Enabling Trimming
        8. Exporting
        9. Movie Modernization
        10. Summary
        11. Challenge
    11. II: Media Capture
      1. 6. Capturing Media
        1. Capture Overview
        2. Simple Recipe
        3. Building a Camera App
        4. Summary
        5. Challenge
      2. 7. Using Advanced Capture Features
        1. Video Zooming
        2. Face Detection
        3. Machine-Readable Code Detection
        4. Using High Frame Rate Capture
        5. Processing Video
        6. Understanding CMSampleBuffer
        7. Summary
        8. Challenge
      3. 8. Reading and Writing Media
        1. Overview
        2. Building an Audio Waveform View
        3. Advanced Capture Recording
        4. Summary
        5. Challenge
    12. III: Media Creation and Editing
      1. 9. Composing and Editing Media
        1. Composing Media
        2. Working with Time
        3. Basic Recipe
        4. Introducing 15 Seconds
        5. Building a Composition
        6. Exporting the Composition
        7. Summary
        8. Challenge
      2. 10. Mixing Audio
        1. Mixing Audio
        2. Mixing Audio in the 15 Seconds App
        3. Summary
        4. Challenge
      3. 11. Building Video Transitions
        1. Overview
        2. Conceptual Steps
        3. 15 Seconds: Adding Video Transitions
        4. Summary
        5. Challenge
      4. 12. Layering Animated Content
        1. Using Core Animation
        2. Using Core Animation with AV Foundation
        3. 15 Seconds: Adding Animated Titles
        4. Preparing the Composition
        5. Summary
        6. Challenge
    13. Index
    14. Code Snippets