<!--
{
  "availability" : [
    "iOS: 26.0.0 -",
    "iPadOS: 26.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "AVFAudio",
  "identifier" : "/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/bluetoothHighQualityRecording",
  "metadataVersion" : "0.1.0",
  "role" : "Type Property",
  "symbol" : {
    "kind" : "Type Property",
    "modules" : [
      "AVFAudio"
    ],
    "preciseIdentifier" : "c:@E@AVAudioSessionCategoryOptions@AVAudioSessionCategoryOptionBluetoothHighQualityRecording"
  },
  "title" : "bluetoothHighQualityRecording"
}
-->

# bluetoothHighQualityRecording

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

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

## 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`](/documentation/AVFAudio/AVAudioSession/CategoryOptions-swift.struct/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`](/documentation/AVFAudio/AVAudioSession/Mode-swift.struct/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`](/documentation/AVFAudio/AVAudioSessionPortDescription/bluetoothMicrophoneExtension) and query the extension’s [`highQualityRecording`](/documentation/AVFAudio/AVAudioSessionPortExtensionBluetoothMicrophone/highQualityRecording) capability like shown below:

```swift
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`](/documentation/AVFAudio/AVAudioSessionCapability/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(_:)`](/documentation/AVFAudio/AVAudioSession/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.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)