Instance Method


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



The category to apply to the audio session. See AVAudioSession.Category for supported category values.


The audio session mode to apply to the audio session. For a list of values, see AVAudioSession.Mode.


The route-sharing policy to apply to the audio session. For a list of values, see AVAudioSession.RouteSharingPolicy.


A mask of additional options for handling audio. For a list of constants, see AVAudioSession.CategoryOptions.


You specify options only with a default routing policy. With a long-form route-sharing policy, you can use the playback category and the default, moviePlayback, and spokenAudio modes.

See Also

Configuring the Audio Session

var category: AVAudioSession.Category

The current audio session category.

func setCategory(AVAudioSession.Category)

Sets the audio session’s category.

var availableCategories: [AVAudioSession.Category]

The audio session categories available on the current device.

struct AVAudioSession.Category

Audio session category identifiers.

var categoryOptions: AVAudioSession.CategoryOptions

The set of options associated with the current audio session category.

func setCategory(AVAudioSession.Category, options: AVAudioSession.CategoryOptions)

Sets the audio session’s category with the specified options.

struct AVAudioSession.CategoryOptions

Constants that specify optional audio behaviors.

var mode: AVAudioSession.Mode

The current audio session’s mode.

func setMode(AVAudioSession.Mode)

Sets the audio session’s mode.

var availableModes: [AVAudioSession.Mode]

The audio session modes available on the device.

struct AVAudioSession.Mode

Audio session mode identifiers.

enum AVAudioSession.RouteSharingPolicy

Cases that indicate the possible route-sharing policies for an audio session.