iOS Developer Library — Pre-Release

Developer

AV Foundation Framework Reference

AV Foundation Framework Reference

Classes   Protocols   Other Reference  

The AV Foundation framework provides an Objective-C interface for managing and playing audio-visual media in iOS and OS X applications. To learn more about AV Foundation, see AV Foundation Programming Guide.

Classes

NSObject

NSObject is the root class of most Objective-C class hierarchies.

AVAsset

AVAsset is an abstract class to represent timed audiovisual media such as videos and sounds.

AVComposition

An AVComposition object combines media data from multiple file-based sources in a custom temporal arrangement, in order to present or process media data from multiple sources together.

AVMutableComposition

AVMutableComposition is a mutable subclass of AVComposition you use when you want to create a new composition from existing assets.

AVURLAsset

AVURLAsset is a concrete subclass of AVAsset that you use to initialize an asset from an URL.

AVAssetExportSession

An AVAssetExportSession object transcodes the contents of an AVAsset source object to create an output of the form described by a specified export preset.

AVAssetImageGenerator

An AVAssetImageGenerator object provides thumbnail or preview images of assets independently of playback.

AVAssetReader

You use an AVAssetReader object to obtain media data of an asset, whether the asset is file-based or represents an assemblage of media data from multiple sources (as with an AVComposition object).

AVAssetReaderOutput

AVAssetReaderOutput is an abstract class that defines an interface for reading a single collection of samples of a common media type from an AVAssetReader object.

AVAssetReaderAudioMixOutput

AVAssetReaderAudioMixOutput is a concrete subclass of AVAssetReaderOutput that defines an interface for reading audio samples that result from mixing the audio from one or more tracks of an AVAssetReader object's asset.

AVAssetReaderSampleReferenceOutput

AVAssetReaderSampleReferenceOutput is a concrete subclass of the AVAssetReaderOutput class that defines an interface for reading sample references from a single AVAssetTrack of an AVAsset instance contained in an AVAssetReader object.

AVAssetReaderTrackOutput

AVAssetReaderTrackOutput defines an interface for reading media data from a single AVAssetTrack object of an asset reader's asset.

AVAssetReaderVideoCompositionOutput

AVAssetReaderVideoCompositionOutput is a subclass of AVAssetReaderOutput you use to read video frames that have been composited together from the frames in one or more tracks of an AVAssetReader object's asset.

AVAssetReaderOutputMetadataAdaptor

The AVAssetReaderOutputMetadataAdaptor class defines an interface for reading metadata, packaged as instances of AVTimedMetadataGroup, from a single AVAssetReaderTrackOutput object.

AVAssetResourceLoader

An AVAssetResourceLoader object mediates resource requests from an AVURLAsset object with a delegate object that you provide.

AVAssetResourceLoadingContentInformationRequest

The AVAssetResourceLoadingContentInformationRequest class represents a query for essential information about a resource referenced by an asset resource loading request.

AVAssetResourceLoadingDataRequest

Use the AVAssetResourceLoadingDataRequest class to request data from a resource referenced by an AVAssetResourceLoadingRequest instance.

AVAssetResourceLoadingRequest

An AVAssetResourceLoadingRequest object encapsulates information about a resource request issued from a resource loader object.

AVAssetResourceRenewalRequest

The AVAssetResourceRenewalRequest class is a subclass of AVAssetResourceLoadingRequest that encapsulates information about a resource request issued by a resource loader for the purpose of renewing a request previously issued.

AVAssetTrack

An AVAssetTrack object provides provides the track-level inspection interface for all assets.

AVCompositionTrack

An AVCompositionTrack object provides the low-level representation of tracks a track in an AVComposition object, comprising a media type, a track identifier, and an array of AVCompositionTrackSegment objects, each comprising a URL, and track identifier, and a time mapping.

AVMutableCompositionTrack

AVMutableCompositionTrack is a mutable subclass of AVCompositionTrack that lets you for insert, remove, and scale track segments without affecting their low-level representation (that is, the operations you perform are non-destructive on the original).

AVAssetTrackGroup

The AVAssetTrackGroup class encapsulates a single group of related tracks in an asset.

AVAssetTrackSegment

An AVAssetTrackSegment object represents a segment of an AVAssetTrack object, comprising of a time mapping from the source to the asset track timeline.

AVCompositionTrackSegment

An AVCompositionTrackSegment object represents a segment of an AVCompositionTrack object, comprising a URL, and track identifier, and a time mapping from the source track to the composition track.

AVAssetWriter

You use an AVAssetWriter object to write media data to a new file of a specified audiovisual container type, such as a QuickTime movie file or an MPEG-4 file, with support for automatic interleaving of media data for multiple concurrent tracks.

AVAssetWriterInput

You use an AVAssetWriterInput to append media samples packaged as CMSampleBuffer objects (see CMSampleBufferRef), or collections of metadata, to a single track of the output file of an AVAssetWriter object.

AVAssetWriterInputMetadataAdaptor

The AVAssetWriterInputMetadataAdaptor class defines an interface for writing metadata packaged as instances of AVTimedMetadataGroup to a single AVAssetWriterInput object.

AVAssetWriterInputPassDescription

The AVAssetWriterInputPassDescription class defines an interface for querying information about the requirements of the current pass, such as the time ranges of media data to append.

AVAssetWriterInputPixelBufferAdaptor

You use an AVAssetWriterInputPixelBufferAdaptor to append video samples packaged as CVPixelBuffer objects to a single AVAssetWriterInput object.

AVAsynchronousVideoCompositionRequest

An AVAsynchronousVideoCompositionRequest instance contains the information necessary for a video compositor to render an output pixel buffer.

AVAudioBuffer

The AVAudioBuffer class represents a buffer of audio data and its format.

AVAudioPCMBuffer

The AVAudioPCMBuffer class is a subclass of AVAudioBuffer for use with PCM audio formats.

AVAudioChannelLayout

The AVAudioChannelLayout class describes the roles of a set of audio channels.

AVAudioEngine

The AVAudioEngine class defines a group of connected AVAudioNode objects, known as audio nodes.

AVAudioEnvironmentDistanceAttenuationParameters

The AVAudioEnvironmentDistanceAttenuationParameters class specifies the attenuation distance, the gradual loss in audio intensity, and characteristics.

AVAudioEnvironmentReverbParameters

The AVAudioEnvironmentReverbParameters class encapsulates the parameters that you use to control the reverb of the AVAudioEnvironmentNode class.

AVAudioFile

The AVAudioFile class represents an audio file that can be opened for reading or writing.

AVAudioFormat

The AVAudioFormat class wraps a Core Audio AudioStreamBasicDescription struct, with convenience initializers and accessors for common formats, including Core Audio’s standard deinterleaved 32-bit floating point format.

AVAudioMix

An AVAudioMix object manages the input parameters for mixing audio tracks.

AVMutableAudioMix

An AVMutableAudioMix object manages the input parameters for mixing audio tracks.

AVAudioMixInputParameters

An AVAudioMixInputParameters object represents the parameters that should be applied to an audio track when it is added to a mix.

AVMutableAudioMixInputParameters

An AVMutableAudioMixInputParameters object represents the parameters that should be applied to an audio track when it is added to a mix.

AVAudioNode

The AVAudioNode class is an abstract class for an audio generation, processing, or I/O block.

AVAudioEnvironmentNode

The AVAudioEnvironmentNode class is a mixer node that simulates a 3D audio environment.

AVAudioIONode

The AVAudioIONode class is the base class for nodes that connects to the system's audio input or output.

AVAudioInputNode

The AVAudioInputNode class represents a node that connects to the system's audio input.

AVAudioOutputNode

The AVAudioOutputNode class represents a audio node that connects to the system's audio output.

AVAudioMixerNode

The AVAudioMixerNode class represents a node that mixes its inputs to a single output.

AVAudioPlayerNode

The AVAudioPlayerNode class plays buffers or segments of audio files.

AVAudioUnit

The AVAudioUnit class is a subclass of the AVAudioNode class that, depending on the type of the audio unit, processes audio either in real-time or non real-time.

AVAudioUnitEffect

An AVAudioUnitEffect class that processes audio in real-time using AudioUnits of type: effect, music effect, panner, remote effect or remote music effect.

AVAudioUnitDelay

The AVAudioUnitDelay class is an AVAudioUnitEffect subclass that implements a delay effect.

AVAudioUnitDistortion

The AVAudioUnitDistortion class is an AVAudioUnitEffect subclass that implements a multi-stage distortion effect.

AVAudioUnitEQ

The AVAudioUnitEQ class is an AVAudioUnitEffect subclass that implements a multi-band equalizer.

AVAudioUnitReverb

The AVAudioUnitReverb class is an AVAudioUnitEffect subclass that implements a reverb effect.

AVAudioUnitGenerator

The AVAudioUnitGenerator is an AVAudioUnit subclass that generates audio output.

AVAudioUnitMIDIInstrument

The AVAudioUnitMIDIInstrument class is an abstract class representing music devices or remote instruments.

AVAudioUnitSampler

The AVAudioUnitSampler class encapsulates Apple's Sampler Audio Unit.

AVAudioUnitTimeEffect

The AVAudioUnitTimeEffect class is an AVAudioUnit subclass that processes audio in non-realtime.

AVAudioUnitTimePitch

The AVAudioUnitTimePitch class is an AVAudioUnitTimeEffect subclass that provides good quality playback rate and pitch shifting independent of each other.

AVAudioUnitVarispeed

The AVAudioUnitVarispeed class is an AVAudioUnitTimeEffect subclass that allows control of the playback rate.

AVAudioPlayer

An instance of the AVAudioPlayer class, called an audio player, provides playback of audio data from a file or memory.

AVAudioRecorder

An instance of the AVAudioRecorder class, called an audio recorder, provides audio recording capability in your application.

AVAudioSession

An instance of the AVAudioSession class, called an audio session, is a singleton object that you employ to set the audio context for your app.

AVAudioSessionChannelDescription

The AVAudioSessionChannelDescription class provides descriptive information about a hardware channel on the current device.

AVAudioSessionDataSourceDescription

The AVAudioSessionDataSourceDescription class defines a data source for an audio input or output, providing information such as the source’s name, location and orientation.

AVAudioSessionPortDescription

An AVAudioSessionPortDescription object describes a single input or output port associated with an audio route.

AVAudioSessionRouteDescription

An AVAudioSessionRouteDescription manages the input and output ports associated with the current audio route for a session.

AVAudioTime

The AVAudioTime class is used by AVAudioEngine to represent time.

AVAudioUnitEQFilterParameters

The AVAudioUnitEQFilterParameters class encapsulates the parameters used by an AVAudioUnitEQ instance.

AVCaptureAudioChannel

You use an AVCaptureAudioChannel to monitor the average and peak power levels in an audio channel in a capture connection (see AVCaptureConnection).

AVCaptureBracketedStillImageSettings

AVCaptureBracketedStillImageSettings is an abstract class that defines an interface for settings pertaining to a bracketed capture.

AVCaptureAutoExposureBracketedStillImageSettings

The AVCaptureAutoExposureBracketedStillImageSettings class is a concrete subclass of the AVCaptureBracketedStillImageSettings class that is used when bracketing exposure target bias.

AVCaptureManualExposureBracketedStillImageSettings

The AVCaptureManualExposureBracketedStillImageSettings class is a concrete subclass of the AVCaptureBracketedStillImageSettings class used when bracketing exposure duration and ISO.

AVCaptureConnection

An AVCaptureConnection object represents a connection between capture input and capture output objects associated with a capture session.

AVCaptureDevice

An AVCaptureDevice object represents a physical capture device and the properties associated with that device.

AVCaptureDeviceFormat

An AVCaptureDeviceFormat object provides information about a media capture format for use with an AVCaptureDevice instance, such as video frame rates and zoom factors.

AVCaptureInput

AVCaptureInput is an abstract base-class describing an input data source to an AVCaptureSession object.

AVCaptureDeviceInput

AVCaptureDeviceInput is a concrete sub-class of AVCaptureInput you use to capture data from an AVCaptureDevice object.

AVCaptureInputPort

An AVCaptureInputPort represents a stream of data from a capture input.

AVCaptureOutput

AVCaptureOutput is an abstract base class describing an output destination of an AVCaptureSession object.

AVCaptureAudioDataOutput

AVCaptureAudioDataOutput is a concrete sub-class of AVCaptureOutput that you use, via its delegate, to process audio sample buffers from the audio being captured.

AVCaptureFileOutput

AVCaptureFileOutput is an abstract sub-class of AVCaptureOutput that describes a file output destination to an AVCaptureSession.

AVCaptureMovieFileOutput

AVCaptureMovieFileOutput is a concrete sub-class of AVCaptureFileOutput you use to capture data to a QuickTime movie.

AVCaptureMetadataOutput

An AVCaptureMetadataOutput object intercepts metadata objects emitted by its associated capture connection and forwards them to a delegate object for processing.

AVCaptureStillImageOutput

AVCaptureStillImageOutput is a concrete sub class of AVCaptureOutput that you use to capture a high-quality still image with accompanying metadata.

AVCaptureVideoDataOutput

AVCaptureVideoDataOutput is a concrete sub-class of AVCaptureOutput you use to process uncompressed frames from the video being captured, or to access compressed frames.

AVCaptureSession

You use an AVCaptureSession object to coordinate the flow of data from AV input devices to outputs.

AVFrameRateRange

An AVFrameRateRange object expresses a range of valid frame rates as minimum and maximum rate and minimum and maximum duration.

AVMediaSelectionGroup

An AVMediaSelectionGroup represents a collection of mutually exclusive options for the presentation of media within an asset.

AVAssetWriterInputGroup

The AVAssetWriterInputGroup class associates tracks corresponding to inputs with each other in a mutually exclusive relationship.

AVMediaSelectionOption

An AVMediaSelectionOption object represents a specific option for the presentation of media within a group of options.

AVMetadataItem

An AVMetadataItem object represents an item of metadata associated with an audiovisual asset or with one of its tracks.

AVMutableMetadataItem

AVMutableMetadataItem is a mutable subclass of AVMetadataItem that lets you build collections of metadata to be written to asset files using AVAssetExportSession.

AVMetadataItemFilter

The AVMetadataItemFilter class is used to filter selected information from AVMetadataItem objects.

AVMetadataObject

The AVMetadataObject class is an abstract class that defines the basic properties associated with a piece of metadata.

AVMetadataFaceObject

The AVMetadataFaceObject class is a concrete subclass of AVMetadataObject that defines the features of a single detected face.

AVMetadataMachineReadableCodeObject

The AVMetadataMachineReadableCodeObject class is a concrete subclass of AVMetadataObject defining the features of a detected one-dimensional or two-dimensional barcode.

AVMIDIPlayer

The AVMIDIPlayer class is a player for music file formats such as MIDI and iMelody.

AVOutputSettingsAssistant

The AVOutputSettingsAssistant class specifies a set of parameters for configuring objects that use output settings dictionaries—so that the resulting media file conforms to a specific criteria.

AVPlayer

You use an AVPlayer object to implement controllers and user interfaces for single- or multiple-item playback.

AVQueuePlayer

AVQueuePlayer is a subclass of AVPlayer you use to play a number of items in sequence.

AVPlayerItem

An AVPlayerItem represents the presentation state of an asset that’s played by an AVPlayer object, and lets you observe that state.

AVPlayerItemAccessLog

You use an AVPlayerItemAccessLog object to retrieve the access log associated with an AVPlayerItem object.

AVPlayerItemAccessLogEvent

An AVPlayerItemAccessLogEvent object represents a single item in an AVPlayerItem object’s access log.

AVPlayerItemErrorLog

You use an AVPlayerItemErrorLog object to retrieve the error log associated with an AVPlayerItem object.

AVPlayerItemErrorLogEvent

An AVPlayerItemErrorLogEvent object represents a single item in an AVPlayerItem object’s error log.

AVPlayerItemOutput

The AVPlayerItemOutput class is an abstract class that defines the common interface for moving samples from an asset to an AVPlayer object.

AVPlayerItemLegibleOutput

The AVPlayerItemLegibleOutput class is a subclass of AVPlayerItemOutput that can vend media with a legible characteristic as an attributed string.

AVPlayerItemMetadataOutput

The AVPlayerItemMetadataOutput class is a subclass of AVPlayerItemOutput that vends collections of metadata items carried in metadata tracks.

AVPlayerItemVideoOutput

The AVPlayerItemVideoOutput lets you coordinate the output of content associated with a Core Video pixel buffer.

AVPlayerItemTrack

You use an AVPlayerItemTrack object to modify the presentation state of an asset track (AVAssetTrack) being presented by an AVPlayer object.

AVPlayerMediaSelectionCriteria

The AVPlayerMediaSelectionCriteria class specifies the preferred languages and media characteristics for an AVPlayer instance.

AVSpeechSynthesisVoice

An AVSpeechSynthesisVoice object defines a distinct voice for use in speech synthesis.

AVSpeechSynthesizer

The AVSpeechSynthesizer class produces synthesized speech from text on an iOS device, and provides methods for controlling or monitoring the progress of ongoing speech.

AVSpeechUtterance

An AVSpeechUtterance is the basic unit of speech synthesis.

AVTextStyleRule

An AVTextStyleRule object represents text styling rules that can be applied to text in a media item.

AVTimedMetadataGroup

You use an AVTimedMetadataGroup object to represent a collection of metadata items.

AVMutableTimedMetadataGroup

You use an AVMutableTimedMetadataGroup object to represent a mutable collection of metadata items.

AVVideoComposition

An AVVideoComposition object represents an immutable video composition.

AVMutableVideoComposition

The AVMutableVideoComposition class is a mutable subclass of AVVideoComposition.

AVVideoCompositionCoreAnimationTool

You use an AVVideoCompositionCoreAnimationTool object to incorporate Core Animation in a video composition.

AVVideoCompositionInstruction

An AVVideoCompositionInstruction object represents an operation to be performed by a compositor.

AVMutableVideoCompositionInstruction

An AVMutableVideoCompositionInstruction object represents an operation to be performed by a compositor.

AVVideoCompositionLayerInstruction

An AVVideoCompositionLayerInstruction object represents the transform, opacity, and cropping ramps to apply to a given track.

AVMutableVideoCompositionLayerInstruction

AVMutableVideoCompositionLayerInstruction is a mutable subclass of AVVideoCompositionLayerInstruction that is used to modify the transform, cropping, and opacity ramps to apply to a given track in a composition.

AVVideoCompositionRenderContext

The AVVideoCompositionRenderContext class defines the context within which custom compositors render new output pixels buffers.

CALayer

The CALayer class manages image-based content and allows you to perform animations on that content.

AVCaptureVideoPreviewLayer

AVCaptureVideoPreviewLayer is a subclass of CALayer that you use to display video as it is being captured by an input device.

AVPlayerLayer

AVPlayerLayer is a subclass of CALayer to which an AVPlayer object can direct its visual output.

AVSampleBufferDisplayLayer

The AVSampleBufferDisplayLayer class is a subclass of CALayer that displays compressed or uncompressed video frames.

AVSynchronizedLayer

AVSynchronizedLayer a subclass of CALayer with layer timing that synchronizes with a specific AVPlayerItem.

Protocols

AVAssetResourceLoaderDelegate

The AVAssetResourceLoaderDelegate protocol defines a method that lets your code handle resource loading requests coming from an AVURLAsset object.

AVAsynchronousKeyValueLoading

The AVAsynchronousKeyValueLoading protocol defines methods that let you use an AVAsset or AVAssetTrack object without blocking a thread.

AVAudio3DMixing

The AVAudio3DMixing protocol defines 3D mixing properties.

AVAudioMixing

The AVAudioMixing protocol defines properties applicable to the input bus of a mixer node.

AVAudioPlayerDelegate

The delegate of an AVAudioPlayer object must adopt the AVAudioPlayerDelegate protocol.

AVAudioRecorderDelegate

The delegate of an AVAudioRecorder object must adopt the AVAudioRecorderDelegate protocol.

AVAudioSessionDelegate

The use of this protocol is deprecated in iOS 6 and later.

AVAudioStereoMixing

The AVAudioStereoMixing protocol defines stereo mixing properties used by mixers.

AVCaptureAudioDataOutputSampleBufferDelegate

The delegate of an AVCaptureAudioDataOutputSampleBuffer object must adopt the AVCaptureAudioDataOutputSampleBufferDelegate protocol.

AVCaptureFileOutputRecordingDelegate

Defines an interface for delegates of AVCaptureFileOutput to respond to events that occur in the process of recording a single file.

AVCaptureMetadataOutputObjectsDelegate

The AVCaptureMetadataOutputObjectsDelegate protocol must be adopted by the delegate of an AVCaptureMetadataOutput object .

AVCaptureVideoDataOutputSampleBufferDelegate

This protocol defines an interface for delegates of an AVCaptureVideoDataOutput object to receive captured video sample buffers and be notified of late sample buffers that were dropped.

AVPlayerItemLegibleOutputPushDelegate

The AVPlayerItemLegibleOutputPushDelegate protocol extends the AVPlayerItemOutputPushDelegate protocol to provide additional methods specific to attributed string output.

AVPlayerItemMetadataOutputPushDelegate

The AVPlayerItemMetadataOutputPushDelegate protocol extends the AVPlayerItemOutputPushDelegate protocol to provide additional methods specific to metadata output.

AVPlayerItemOutputPullDelegate

The AVPlayerItemOutputPullDelegate protocol defines the methods that are called by an AVPlayerItemVideoOutput object in response to pixel buffer changes.

AVPlayerItemOutputPushDelegate

The AVPlayerItemOutputPushDelegate protocol defines common delegate methods for objects participating in AVPlayerItemOutput push sample output acquisition.

AVSpeechSynthesizerDelegate

The AVSpeechSynthesizerDelegate protocol defines methods that the delegate of an AVSpeechSynthesizer object may implement; all methods in this protocol are optional.

AVVideoCompositing

The AVVideoCompositing protocol defines properties and methods that custom video compositors must implement.

AVVideoCompositionInstruction

The AVVideoCompositionInstruction protocol represents operations to be performed by a compositor.

AVVideoCompositionValidationHandling

The AVVideoCompositionValidationHandling protocol declares methods that you can implement in the delegate of an AVVideoComposition object to indicate whether validation of a video composition should continue after specific errors have been found.

Other Reference

AV Foundation Audio Settings Constants

AV Foundation Constants Reference

AV Foundation Error Constants

AV Foundation Metadata Key Constants Reference

AV Foundation Functions Reference