<!--
{
  "availability" : [
    "iOS: -",
    "iPadOS: -",
    "macCatalyst: -",
    "tvOS: -",
    "visionOS: -",
    "watchOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioSession/Mode-swift.struct",
  "metadataVersion" : "0.1.0",
  "role" : "Structure",
  "symbol" : {
    "kind" : "Structure",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:@T@AVAudioSessionMode"
  },
  "title" : "AVAudioSession.Mode"
}
-->

# AVAudioSession.Mode

Audio session mode identifiers.

```
struct Mode
```

## Overview

While categories set the base behaviors for your app, you use modes to assign specialized behavior to an audio session category.

> Important:
> Specifying a mode that the audio session category doesn’t support, such as setting the ``doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/gameChat`` mode for the ``doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioSession/Category-swift.struct/multiRoute`` category, results in the audio session using the ``doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/default`` mode behavior.

## Topics

### Creating a Mode

[`init(rawValue:)`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/init(rawValue:))

Creates a new instance with the raw value you specify.

### Getting Standard Session Modes

[`AVAudioSessionModeDefault`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/default)

The default audio session mode.

[`AVAudioSessionModeDualRoute`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/dualRoute)

A mode that provides simultaneous use of the built-in microphone/speaker and a secondary audio device that supports input and output.

[`AVAudioSessionModeGameChat`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/gameChat)

A mode that the GameKit framework sets on behalf of an application that uses GameKit’s voice chat service.

[`AVAudioSessionModeMeasurement`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/measurement)

A mode that indicates that your app is performing measurement of audio input or output.

[`AVAudioSessionModeMoviePlayback`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/moviePlayback)

A mode that indicates that your app is playing back movie content.

[`AVAudioSessionModeShortFormVideo`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/shortFormVideo)

Appropriate for applications playing short-form video content.

[`AVAudioSessionModeSpokenAudio`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/spokenAudio)

A mode used for continuous spoken audio to pause the audio when another app plays a short audio prompt.

[`AVAudioSessionModeVideoChat`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/videoChat)

A mode that indicates that your app is engaging in online video conferencing.

[`AVAudioSessionModeVideoRecording`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/videoRecording)

A mode that indicates that your app is recording a movie.

[`AVAudioSessionModeVoiceChat`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/voiceChat)

A mode that indicates that your app is performing two-way voice communication, such as using Voice over Internet Protocol (VoIP).

[`AVAudioSessionModeVoicePrompt`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/voicePrompt)

A mode that indicates that your app plays audio using text-to-speech.

## Relationships

### Conforms To

[`SendableMetatype`](/documentation/Swift/SendableMetatype)

[`RawRepresentable`](/documentation/Swift/RawRepresentable)

[`Sendable`](/documentation/Swift/Sendable)

[`Equatable`](/documentation/Swift/Equatable)

[`Hashable`](/documentation/Swift/Hashable)

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)