Bluetooth audio: codecs, LE Audio and where the latency comes from
Why one headset sounds fine in a call and bad in a game, what LE Audio changes, and what Windows actually controls.
- Build
- 26300.9457
- Edition
- Pro (26H2)
- Architecture
- x64
- Support
- Documentation (E1)
- Evidence
- E1Official documentation
- Verified
- 2026-10-29
- Page type
- Concept
The short answer
Section titled “The short answer”A Bluetooth headset usually exposes two audio endpoints:
| Endpoint | Profile | Quality | Latency |
|---|---|---|---|
| Stereo / headphones | A2DP | good (codec-dependent) | 150–300ms |
| Headset / hands-free | HFP/HSP | narrow-band, mono | lower, but sounds like a phone call |
Windows picks the hands-free endpoint when an app opens the microphone. That is why music sounds fine, then a Teams call starts and everything sounds like 1998 — the device switched profiles, not “the drivers broke”.
Check what is active
Section titled “Check what is active”Get-PnpDevice -Class AudioEndpoint | Select-Object FriendlyName,StatusGet-PnpDevice -Class Bluetooth | Select-Object FriendlyName,Status,InstanceIdGet-CimInstance Win32_SoundDevice | Select-Object Name,Manufacturer,StatusIn Settings → System → Sound, the output selector shows both endpoints for the same headset. Choosing “Headphones” restores stereo — until an app grabs the mic again.
Codecs: what Windows decides and what it does not
Section titled “Codecs: what Windows decides and what it does not”| Codec | Who chooses | Notes |
|---|---|---|
| SBC | mandatory baseline | works everywhere, mediocre |
| AAC | device + Windows support | better on supported hardware |
| aptX / LDAC | device + OEM stack | often vendor-driver dependent on Windows |
| LC3 (LE Audio) | LE Audio stack | newer, lower latency, better battery |
Windows does not expose a codec picker in Settings. What you get is negotiated between the adapter, the Windows Bluetooth stack and the headset. If a vendor ships an enhanced stack, its control panel may show the active codec — the Windows UI will not.
LE Audio: what it actually needs
Section titled “LE Audio: what it actually needs”LE Audio (LC3, Auracast) requires all three: a Bluetooth adapter with LE Audio support, Windows support on that build, and a LE Audio-capable headset. Missing any one and the device falls back to Classic Audio — same headset, same cable-free convenience, worse battery and latency.
# adapter and its driverGet-PnpDevice -Class Bluetooth | Select-Object FriendlyName,Status,InstanceIdGet-CimInstance Win32_PnPSignedDriver | Where-Object DeviceClass -eq 'BLUETOOTH' | Select-Object DeviceName,DriverVersion,DriverDateThe real causes of “bad Bluetooth audio”
Section titled “The real causes of “bad Bluetooth audio””| Symptom | Cause |
|---|---|
| Sounds like a phone call during meetings | hands-free profile active (mic in use) |
| Stutter when the mouse moves | 2.4GHz interference — the adapter shares the band with Wi-Fi/USB3 |
| Latency in games only | A2DP buffering; no low-latency codec negotiated |
| Volume much lower than wired | absolute volume / device gain mismatch |
| Drops when the laptop lid closes | adapter power management |
| Works, then disconnects every 10 min | power saving on the adapter or the device |
Fixes that work, in order: move the adapter away from USB 3 ports and the Wi-Fi antenna, disable “Allow the computer to turn off this device to save power” on the Bluetooth adapter, and stop apps from holding the microphone open when you are not in a call.
Related
Section titled “Related”Lab boundary
Section titled “Lab boundary”E1. Bluetooth profiles and codec negotiation are documented by Microsoft and the Bluetooth SIG. The lab has no Bluetooth radio, so no codec or latency measurement was made.