---
title: bluetoothHighQualityRecording
framework: avfaudio
role: symbol
role_heading: Type Property
path: avfaudio/avaudiosession/categoryoptions-swift.struct/bluetoothhighqualityrecording
---

# bluetoothHighQualityRecording

An option that indicates to enable high-quality audio for input and output routes.

## Declaration

```swift
static var bluetoothHighQualityRecording: AVAudioSession.CategoryOptions { get }
```

## Discussion

Discussion Specifying this option enables full-bandwidth audio when the Bluetooth route supports it, such as on certain AirPods models. You can combine it with the allowBluetoothHFP option, which the audio session uses as a fallback when the audio route doesn’t support the feature. You can request high-quality recording only when using the default audio session mode. important: Bluetooth high-quality recording isn’t currently supported in the European Union. To determine whether a Bluetooth input port supports high-quality recording, access its bluetoothMicrophoneExtension and query the extension’s highQualityRecording capability like shown below: let audioSession = AVAudioSession.sharedInstance() // Get the input port description for the current route. guard let inputPort = audioSession.currentRoute.inputs.first else { return } // Access the Bluetooth microphone extension, if it exists. guard let micExtension = inputPort.bluetoothMicrophoneExtension else { return } // Query the extension's high-quality recording capability. if micExtension.highQualityRecording.isSupported {     // The Bluetooth input supports high-quality recording. } Similarly, you can query the high-quality recording capability’s isEnabled property to determine whether this feature is in an enabled state for the active session. If your app uses high-quality recording, consider setting setPrefersNoInterruptionsFromSystemAlerts(_:) while recording, to avoid the recording session being interrupted by an incoming call ringtone. note: This option may increase input latency when enabled and isn’t recommended for real-time communication usage.

## See Also

### Category options

- [allowAirPlay](avfaudio/avaudiosession/categoryoptions-swift.struct/allowairplay.md)
- [allowBluetooth](avfaudio/avaudiosession/categoryoptions-swift.struct/allowbluetooth.md)
- [allowBluetoothA2DP](avfaudio/avaudiosession/categoryoptions-swift.struct/allowbluetootha2dp.md)
- [allowBluetoothHFP](avfaudio/avaudiosession/categoryoptions-swift.struct/allowbluetoothhfp.md)
- [defaultToSpeaker](avfaudio/avaudiosession/categoryoptions-swift.struct/defaulttospeaker.md)
- [duckOthers](avfaudio/avaudiosession/categoryoptions-swift.struct/duckothers.md)
- [farFieldInput](avfaudio/avaudiosession/categoryoptions-swift.struct/farfieldinput.md)
- [interruptSpokenAudioAndMixWithOthers](avfaudio/avaudiosession/categoryoptions-swift.struct/interruptspokenaudioandmixwithothers.md)
- [mixWithOthers](avfaudio/avaudiosession/categoryoptions-swift.struct/mixwithothers.md)
- [overrideMutedMicrophoneInterruption](avfaudio/avaudiosession/categoryoptions-swift.struct/overridemutedmicrophoneinterruption.md)
