---
title: availableInputs
framework: avfaudio
role: symbol
role_heading: Instance Property
path: avfaudio/avaudiosession/availableinputs
---

# availableInputs

An array of input ports available for audio routing.

## Declaration

```swift
var availableInputs: [AVAudioSessionPortDescription]? { get }
```

## Discussion

Discussion The active audio session category and mode determine the number of inputs this property returns. For example, if the session’s category is playAndRecord, the array may contain a built-in microphone port and, if connected, a headset microphone port. Alternatively, if the session’s category is playback, this property returns an empty array.

## See Also

### Configuring inputs

- [isInputAvailable](avfaudio/avaudiosession/isinputavailable.md)
- [preferredInput](avfaudio/avaudiosession/preferredinput.md)
- [setPreferredInput(_:)](avfaudio/avaudiosession/setpreferredinput(_:).md)
- [inputDataSource](avfaudio/avaudiosession/inputdatasource.md)
- [inputDataSources](avfaudio/avaudiosession/inputdatasources.md)
- [setInputDataSource(_:)](avfaudio/avaudiosession/setinputdatasource(_:).md)
- [availableInputsChangeNotification](avfaudio/avaudiosession/availableinputschangenotification.md)
