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

# AVAudioSession.CategoryOptions

Constants that specify optional audio behaviors.

```
struct CategoryOptions
```

## Overview

Each option is valid only for specific audio session categories.

## Topics

### Category options

[`AVAudioSessionCategoryOptionAllowAirPlay`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/allowAirPlay)

An option that determines whether you can stream audio from this session to AirPlay devices.

[`AVAudioSessionCategoryOptionAllowBluetooth`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/allowBluetooth)

An option that determines whether Bluetooth hands-free devices appear as available input routes.

[`AVAudioSessionCategoryOptionAllowBluetoothA2DP`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/allowBluetoothA2DP)

An option that determines whether you can stream audio from this session to Bluetooth devices that support the Advanced Audio Distribution Profile (A2DP).

[`AVAudioSessionCategoryOptionAllowBluetoothHFP`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/allowBluetoothHFP)

An option that makes Bluetooth Hands-Free Profile (HFP) devices available for audio input.

[`AVAudioSessionCategoryOptionBluetoothHighQualityRecording`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/bluetoothHighQualityRecording)

An option that indicates to enable high-quality audio for input and output routes.

[`AVAudioSessionCategoryOptionDefaultToSpeaker`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/defaultToSpeaker)

An option that determines whether audio from the session defaults to the built-in speaker instead of the receiver.

[`AVAudioSessionCategoryOptionDuckOthers`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/duckOthers)

An option that reduces the volume of other audio sessions while audio from this session plays.

[`AVAudioSessionCategoryOptionFarFieldInput`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/farFieldInput)

This option should be used if a session prefers to use FarFieldInput when available.
This option is only valid with categories that support input -
[`playAndRecord`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct/playAndRecord), [`record`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct/record), and `AVAudioSessionMultiRoute` with [`dualRoute`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/dualRoute).

[`AVAudioSessionCategoryOptionInterruptSpokenAudioAndMixWithOthers`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/interruptSpokenAudioAndMixWithOthers)

An option that determines whether to pause spoken audio content from other sessions when your app plays its audio.

[`AVAudioSessionCategoryOptionMixWithOthers`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/mixWithOthers)

An option that indicates whether audio from this session mixes with audio from active sessions in other audio apps.

[`AVAudioSessionCategoryOptionOverrideMutedMicrophoneInterruption`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/overrideMutedMicrophoneInterruption)

An option that indicates whether the system interrupts the audio session when it mutes the built-in microphone.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

---

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)