<!--
{
  "availability" : [
    "iOS: 11.0.0 -",
    "iPadOS: 11.0.0 -",
    "macCatalyst: 13.1.0 -",
    "tvOS: 11.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 5.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioSession/setCategory(_:mode:policy:options:)",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Method",
  "symbol" : {
    "kind" : "Instance Method",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:objc(cs)AVAudioSession(im)setCategory:mode:routeSharingPolicy:options:error:"
  },
  "title" : "setCategory(_:mode:policy:options:)"
}
-->

# setCategory(_:mode:policy:options:)

Sets the session category, mode, route-sharing policy, and options.

```
func setCategory(_ category: AVAudioSession.Category, mode: AVAudioSession.Mode, policy: AVAudioSession.RouteSharingPolicy, options: AVAudioSession.CategoryOptions = []) throws
```

## Parameters

`category`

The category to apply to the audio session. See [`AVAudioSession.Category`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct) for supported category values.

`mode`

The audio session mode to apply to the audio session. For a list of values, see [`AVAudioSession.Mode`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct).

`policy`

The route-sharing policy to apply to the audio session. For a list of values, see [`AVAudioSession.RouteSharingPolicy`](/documentation/AVFAudio/AVAudioSession/RouteSharingPolicy-swift.enum).

`options`

A mask of additional options for handling audio. For a list of constants, see [`AVAudioSession.CategoryOptions`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct).

## Discussion

You specify options only with a default routing policy. With a long-form route-sharing policy, you can use the [`playback`](/documentation/AVFAudio/AVAudioSession/Category-swift.struct/playback) category and the [`default`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/default), [`moviePlayback`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/moviePlayback), and [`spokenAudio`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/spokenAudio) modes.

---

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)