Audio Track Engineering

Play, record, mix, and process audio.


The AVFoundation audio capabilities include the ability to play, record, mix, and process audio.


First Steps

Use fundamental classes, formats, and settings to represent audio files and audio data.

class AVAudioFile

An audio file that can be opened for reading or writing.

class AVAudioBuffer

A buffer of audio data and its format.

class AVAudioTime

A class used by the audio engine to represent time.

Audio Settings and Formats

Define audio data with these constants and classes.

Enabling USB Audio and MIDI for iOS

Set up your system to record digital audio from an iOS device and exchange MIDI data with it by enabling Inter-Device Audio and MIDI.

Single Track Playback and Recording

Record and play a single audio track.

class AVAudioPlayer

An audio player that provides playback of audio data from a file or memory.

class AVAudioRecorder

A class that provides audio recording capability in your application.

class AVMIDIPlayer

A player for music file formats such as MIDI and iMelody.

Multitrack Playback and Recording

Record and play audio tracks from multiple inputs to multiple outputs. Connect nodes to mix tracks, process audio streams, and add effects such as 3D audio.

Audio Engine Building Blocks

Add audio input, processing, and output to an audio engine instance.

Using Voice Processing

Add voice processing capabilities to your app by using AVAudioEngine.

Building a Signal Generator

Use AVAudioSourceNode and a custom render callback to generate audio signals.

Performing Offline Audio Processing

Add offline audio processing features to your app by enabling offline manual rendering mode.

class AVAudioEngine

A group of connected audio node objects used to generate and process audio signals and perform audio input and output.

class AVAudioNode

An abstract class for an audio generation, processing, or I/O block.

class AVAudioUnit

A subclass of the audio node class that, depending on the type of the audio unit, processes audio either in real time or non-real time.

Audio Helpers

Operations that support single and multitrack audio engineering, as well as audio file conversion.

class AVAudioConverter

A class that converts streams of audio between various formats.

typealias AVAudioConverterInputBlock

A block to get input data as needed, for conversion.

class AVAudioUnitComponent

A class that provides details about an audio unit such as: type, subtype, manufacturer, and location.

class AVAudioUnitComponentManager

An object that provides a way to search and query audio components that are registered with the system.

See Also


System Audio Interaction

Integrate system audio into your app.