If you use wireless headphones or a speaker with Xiaomi, youโve probably noticed that the audio quality of Bluetooth can vary greatly depending on the device, and the reason lies in audio codecs, compression algorithms that determine how clear, detailed and stable the sound will be. By default, most Xiaomi smartphones (including Redmi models, POCO and flagship series) use a basic SBC codec that provides compatibility with all devices, but does not always give the best quality.
In this article, we will discuss how to manually change the Bluetooth audio codec to Xiaomi, which codecs are supported by different models, and how this affects sound. You will learn why aptX or LDAC may sound better than AAC, but consume more power, and how to circumvent the limitations of MIUI if the desired codec is not displayed in the settings. Instructions are relevant for devices on MIUI 12/13/14 and HyperOS, including Xiaomi 13/14, Redmi Note 12/13, POCO F5/X6 and others.
Why it is important to choose the right audio codec for Bluetooth
The audio codec is the translator between the digital sound on your smartphone and the analog signal in your headphones.
- ๐ต Sound quality: bitrate, sampling rate, dynamic range. For example, LDAC transmits up to 990 kbit/s, and SBC only 328 kbit/s.
- ๐ Battery consumption: Complex codecs (e.g. aptX Adaptive) require more energy to encode /dek.
- ๐ถ Connection stability: Some codecs are sensitive to interference. AAC works better in weak signal conditions than LDAC.
- โฑ๏ธ Latency: critical for gaming and video. aptX Low Latency reduces latency to 30-40 ms.
Xiaomi often has SBC activated by default, a versatile codec, but not the most advanced. If your headphones support AAC, aptX or LDAC, it makes sense to switch to them for better sound. However, not all codecs are compatible with every Xiaomi model - it depends on the chipset and version of the MIUI/HyperOS.
โ ๏ธ Warning: Some codecs (e.g., LDAC) can cause sound artifacts (clicks, cliffs) on cheap headphones or with a weak Bluetooth signal. If the sound gets worse after changing the codec, go back to AAC or SBC.
What audio codecs are supported by Xiaomi smartphones
The list of available codecs depends on your Xiaomi processor and firmware version. Below is a compatibility table for popular chipsets:
| Chipset | Supported codecs | Xiaomi models |
|---|---|---|
| Snapdragon 8 Gen 2/3 | SBC, AAC, aptX, aptX HD, aptX Adaptive, LDAC, LC3 | Xiaomi 13/14 Ultra, POCO F6 Pro, Redmi K70 Pro |
| Snapdragon 7+ Gen 2/3 | SBC, AAC, aptX, aptX HD, LC3 | Xiaomi 13T, Redmi Note 13 Pro+, POCO X6 Pro |
| Dimensity 9000/9200 | SBC, AAC, LDAC, LC3 | Xiaomi 12S Ultra, Redmi K60 Ultra |
| Snapdragon 6xx/4xx | SBC, AAC (sometimes aptX) | Redmi Note 12/11, POCO M6 |
Please note:
- ๐น The LC3 codec appeared in Bluetooth 5.2 and is optimized for LE Audio (e.g., Xiaomi Buds 4 Pro).
- ๐น LDAC is only available on flagships with Snapdragon 8xx or Dimensity 9000.
- ๐น On budget models (e.g., Redmi 10A) often only SBC is available.
How to check the current audio codec on Xiaomi
Before you change the codec, make sure your headphones or column support it.
- Connect the headphones to your smartphone.
- Open Settings โ Connected devices (or Bluetooth).
- Click on your device name (e.g. Sony WH-1000XM5).
- Look at the line โAudio Codecโ or โSound Qualityโ.
If this line is not there, then your firmware is not showing the default codec.
- ๐ ๏ธ Use the Developer Options app (described below).
- ๐ฑ Install third-party software, such as Bluetooth Audio Codec Checker (available on Google Play).
๐ก
If there is no codec information in your Bluetooth settings, try turning on the developer mode and activating the Bluetooth debugging option โ sometimes this helps to display hidden settings.
Step-by-step: how to change the audio codec to Xiaomi
There are two ways to change the codec: through standard settings (if available) or through developer mode (for advanced users).
Method 1: via Bluetooth Menu (for MIUI 14/HyperOS)
This method works for most modern Xiaomi devices:
- Put your headphones on Bluetooth.
- Go to Settings. โ Connected devices.
- Tap your device name (e.g., JBL Live 660NC).
- Select "Audio Codec" or "Sound Quality".
- In the list of available codecs, select the desired one (for example, AAC or aptX Adaptive).
If the option "Audio codec" is missing - go to the second method.
Method 2: Developer Mode (for all versions of MIUI)
This method is universal, but requires the inclusion of hidden settings:
Activate Developer Mode |Connect headphones via Bluetooth |Open developer settings |Look for Bluetooth Audio Codec|Select the desired codec-->
- Turn on Developer Mode: Go to Settings โ About Phone. Tap 7 once on the line "MIUI Version" (you're a developer! notification will appear).
Settings โ Additional โ For Developers
"Network settings"
"Bluetooth audio codec."
LDAC
aptX LL
Reconnect the headphones so that the changes take effect.
โ ๏ธ Warning: Some firmware (especially custom ones) may not have the Bluetooth Audio Codec option even in developer mode, requiring manual editing of configuration files (see next section).
What to do if the codec does not change?
How to turn on LDAC or aptX if they are not on the list
If your Xiaomi supports LDAC or aptX, but these codecs donโt show up in the settings, the problem may be:
- ๐ธ Regional firmware restrictions (e.g., the global version MIUI sometimes blocks LDAC).
- ๐ธ Lack of license (the chipset manufacturer did not pay for codec support).
- ๐ธ Hidden settings that can be activated via ADB.
To unlock hidden codecs, follow the following steps:
Method 1: Through ADB (without root)
You will need a computer with ADB- drivers installed and USB debugging enabled on your smartphone.
adb shell settings put global bluetooth_a2dp_offload_capability 31
adb shell settings put global bluetooth_a2dp_offload_disabled 0
adb shell settings put global bluetooth_hw_a2dp_offload_enabled 1After completing the commands, restart the phone and check for codecs in the settings.
Method 2: Edit build.prop (requires root)
If you have root access, open the file /system/build.prop and add the following lines:
persist.bluetooth.a2dp_offload_cap=31
persist.bluetooth.a2dp_offload_disabled=0Save the changes, restart the device and check the available codecs.
โ ๏ธ Warning: Editing system files without root may result in loss of warranty or unstable Bluetooth. If you are not sure about your actions, use the first method (ADB).
Which codec to choose for different scenarios
The choice of codec depends on your tasks:
| Script | Recommended codec | Reason. |
|---|---|---|
| ๐ง Music (high quality) | LDAC (990 kbps) or aptX Adaptive | Maximum sound detail, wide dynamic range. |
| ๐ฎ Games (low latency) | aptX Low Latency or AAC | Minimum latency (40 ms), stable connection. |
| ๐ Bluetooth calls | SBC or mSBC (for Hands-Free) | Better compatibility with voice codecs. |
| ๐ Weak signal (street, subway) | AAC or SBC | Resistance to interference, less energy consumption. |
For most Xiaomi users, the best choice is:
- ๐น AAC Balance between quality and stability (supported by Apple AirPods, most headphones).
- ๐น aptX Adaptive โ if your headphones support (e.g. Sony WH-1000XM4, Sennheiser Momentum).
- ๐น LDAC โ only for flagship Xiaomi models and headphones with support (for example, Sony LDAC).
๐ก
If your headphones support multiple codecs, Xiaomi will automatically select the most advanced one available, but you can manually prioritize the codec for specific tasks (for example, forced AAC for calls).
Frequent problems and their solutions
When changing the audio codec to Xiaomi, the following errors may occur:
- ๐ Sound interrupted or distorted: Try lowering bitrate (e.g., in LDAC select 660 kbit/s instead of 990 kbit/s). Switch to AAC or SBC.
- ๐ Fast battery discharge: LDAC and aptX Adaptive consume more power. Use AAC to save.
- ๐ต The codec resets to SBC after reconnecting: This is a bug of some versions MIUI Solution: disable the audio effects MIUI in the audio settings.
- ๐ No option to change the codec in the settings: Use ADB or check your chipset compatibility (see table above).
If the problem persists, try:
- Reset network settings (Settings โ System โ Reset โ Reset Wi-Fi, mobile network and Bluetooth).
- Update to the latest version of MIUI/HyperOS.
- Clear the Bluetooth cache (Settings โ Applications โ Application Management โ Bluetooth โ Storage โ Clear the cache).