---
title: "setCategory(_:mode:options:)"
framework: avfaudio
role: symbol
role_heading: Instance Method
path: "avfaudio/avaudiosession/setcategory(_:mode:options:)"
---

# setCategory(_:mode:options:)

Sets the audio session’s category, mode, and options.

## Declaration

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

## Parameters

- `category`: The category to apply to the audio session. See doc://com.apple.avfaudio/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 doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioSession/Mode-swift.struct.
- `options`: A mask of additional options for handling audio. For a list of constants, see doc://com.apple.avfaudio/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct.

## Discussion

Discussion The audio session’s category and mode together define how your app uses audio. Typically, you set the category and mode before activating the session. You can also set the category or mode while the session is active, but doing so results in an immediate change.

## See Also

### Configuring standard audio behaviors

- [setCategory(_:mode:policy:options:)](avfaudio/avaudiosession/setcategory(_:mode:policy:options:).md)
- [setCategory(_:options:)](avfaudio/avaudiosession/setcategory(_:options:).md)
- [setCategory(_:)](avfaudio/avaudiosession/setcategory(_:).md)
- [setMode(_:)](avfaudio/avaudiosession/setmode(_:).md)
