---
title: AVAudioSessionDelegate
framework: avfaudio
role: symbol
role_heading: Protocol
path: avfaudio/avaudiosessiondelegate
---

# AVAudioSessionDelegate

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

## Declaration

```swift
protocol AVAudioSessionDelegate : NSObjectProtocol
```

## Overview

Overview 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.

## Topics

### Delegate Methods

- [beginInterruption()](avfaudio/avaudiosessiondelegate/begininterruption().md)
- [endInterruption()](avfaudio/avaudiosessiondelegate/endinterruption().md)
- [endInterruption(withFlags:)](avfaudio/avaudiosessiondelegate/endinterruption(withflags:).md)
- [inputIsAvailableChanged(_:)](avfaudio/avaudiosessiondelegate/inputisavailablechanged(_:).md)

## Relationships

### Inherits From

- [NSObjectProtocol](objectivec/nsobjectprotocol.md)

## See Also

### Responding to audio session changes

- [delegate](avfaudio/avaudiosession/delegate.md)
