Instance Property

inputDataSources

An array of available data sources for the audio session’s current input port.

Declaration

var inputDataSources: [AVAudioSessionDataSourceDescription]? { get }

Discussion

An array of AVAudioSessionDataSourceDescription objects representing available input sources, or nil if switching between multiple input sources is not currently possible. This feature is supported only on certain devices and peripherals–for example, on an iPhone equipped with both front- and rear-facing microphones.

You can observe changes to the value of this property by using Key-value observing.

See Also

Working with Audio Routes

var currentRoute: AVAudioSessionRouteDescription

An object describing the current audio input and output route.

var isInputAvailable: Bool

A Boolean value indicating whether an audio input path is available.

var availableInputs: [AVAudioSessionPortDescription]?

An array of input ports available for routing.

var preferredInput: AVAudioSessionPortDescription?

The preferred input port for audio routing.

func setPreferredInput(AVAudioSessionPortDescription?)

Sets the preferred input port for audio routing.

var inputDataSource: AVAudioSessionDataSourceDescription?

The currently selected input data source.

func setInputDataSource(AVAudioSessionDataSourceDescription?)

Selects a data source for the audio session’s current input port.

var outputDataSources: [AVAudioSessionDataSourceDescription]?

An array of available output data sources for the current audio route.

var outputDataSource: AVAudioSessionDataSourceDescription?

The currently selected output data source.

func setOutputDataSource(AVAudioSessionDataSourceDescription?)

Sets the output data source for an audio session.

func overrideOutputAudioPort(AVAudioSession.PortOverride)

Temporarily changes the current audio route.