A protocol that defines responses to changes in state for the audio session.


@protocol AVAudioSessionDelegate


The delegate of an AVAudioSession object must adopt the AVAudioSessionDelegate protocol. The methods in this protocol are optional. They allow a delegate to respond to the following sorts of changes in state:

  • Changes to the availability of audio input

  • Audio session interruption, or end of audio session interruption

An AVAudioSession delegate can respond to interruptions at the audio session level. You can use this interface along with any iOS audio technology. For example, your AVAudioSession delegate can handle interruptions for OpenAL and audio unit playback.

When using the AVFoundation framework for recording or playback, you can also respond to interruptions at the individual recorder or player level. To do this, create audio recorder or audio player delegates using the protocols described in AVAudioRecorderDelegate and AVAudioPlayerDelegate.


Delegate Methods

- beginInterruption

Called after your audio session is interrupted.

- endInterruption

Called after your audio session interruption ends.

- endInterruptionWithFlags:

Called after your audio session interruption ends, with flags indicating the state of the audio session.

- inputIsAvailableChanged:

Called after the availability of audio input changes on a device.


Inherits From

See Also

Supporting Types


A channel description provides descriptive information about a hardware channel on the current device.


A description that defines a data source for an audio input or output, giving information such as the source’s name, location and orientation.


Information about the capabilities of the port and the hardware channels it supports.


A route description manages the input and output ports associated with the current audio route for a session.