If you use wireless headphones with Xiaomi and notice that the sound quality is poor, the problem may lie in the Bluetooth codec used. By default, most Xiaomi devices (including the Redmi models, POCO and flagship series) transmit audio through SBC, a standard, but far from the most efficient codec. It provides stable connection, but sacrifices the detail of sound, especially at high and low frequencies.
The transition to AAC (Advanced Audio Coding) allows you to significantly improve the quality of audio transmission: this codec supports a wider range of frequencies, better lossless compression and adaptive bitrate. However, not all Xiaomi devices allow you to change the codec out of the box β often require additional settings or even root access. In this article, we will discuss all the current ways to change SBC to AAC for Xiaomi smartphones in 2026, including official and alternative methods.
It is important to understand that not all headphones support AAC. Before setting up, check the specifications of your model β for example, AirPods, Sony WH-1000XM5 Xiaomi Buds 4 Pro works with this codec, and budget TWS-The headset is often limited to only SBC.
Why SBC is Worse than AAC: Codec Comparisons
To understand whether to change the codec, letβs examine the key differences between SBC and AAC:
| Parameter | SBC | AAC |
|---|---|---|
| Maximum bitrate | 328 kbps | up to 500 kbps |
| Frequency support | 20β20,000 Hz (theoretically) | 10β22,050 Hz (real) |
| Delay (latency) | 100-300 ms. | 50-150 ms. |
| Adaptability | No. | Yes (dynamic bitrate) |
| Support for devices | All Bluetooth devices | iPhone, Android 8+, most flagship headphones |
The main disadvantage of SBC is the hard compression of audio, which loses high frequencies (such as the sound of plates or violins) and blurs bass lines, while AAC uses more advanced compression algorithms, storing details even when the bitrate is low, and AAC is better at dealing with artifacts - distortions of sound with a weak Bluetooth signal.
However, AAC has its downsides:
- π Higher power consumption (earphones will be discharged 10-15% faster).
- πΆ Sensitivity to interference: with a weak signal, breaks in sound are possible.
- π§ Not all Android devices work properly with AAC (especially on custom firmware).
β οΈ Note: Some Xiaomi models (e.g. Redmi Note 10 or X-ray) POCO X3) forced inclusion AAC This can cause a sound miss or a headphone to be completely inoperable. Before changing the codec, test the connection in safe mode.
Change the codec through Developer Options
The easiest method is to activate the developer mode and manually select the codec, which works on most Xiaomi devices with MIUI 12 and later, but requires prior preparation.
Step 1: Enable Developer Options:
- Go to Settings. β The phone.
- Find the MIUI version and tap it 7 times in a row.
- Enter the screen unlock password (if the system requests it).
Step 2: Change the Bluetooth codec:
- Return to the main Settings menu and select Additional Settings β Developer Settings.
- Scroll down to the Network section and find the Bluetooth Codec (or Bluetooth Audio Codec).
- In the list of available codecs, select AAC.
- Reboot your smartphone and reconnect the headphones.
Activate the Developer Mode
Check AAC support in headphones
Make a backup of Bluetooth settings
Charge headphones and smartphone up to 50%+
Disable other Bluetooth devices-->
If there is no Bluetooth Codec option on the menu, your Xiaomi model does not support manual switching, in which case try alternative methods (described below).
β οΈ Attention: On some firmware MIUI post-choice AAC Headphones can connect with a delay of up to 10 seconds. This is normal - the codec requires additional time to sync.
Alternative method: using applications to change the codec
If Developer Options doesn't have a codec selection option, you can use third-party utilities.
- π± Bluetooth Audio Codec Switcher (requires root or ADB).
- π§ Developer Quick Settings (for quick access to settings).
- π§ MIUI Hidden Settings (discloses hidden options) MIUI).
Consider the Bluetooth Audio Codec Switcher:
- Download the app from Google Play (or APKMirror if itβs not available in your area).
- Connect the headphones and open the utility.
- In the list of available codecs, select AAC and click Apply.
- Reboot the Bluetooth module (turn off/on Bluetooth in the notification curtain).
If the application requests root access but it is not, use it. ADB-team:
adb shell settings put global bluetooth_a2dp_offload_capability 255
adb shell settings put global bluetooth_a2dp_offload_disabled falseThese commands will unlock all available codecs in the system, and then restart the smartphone.
π‘
If the sound is intermittent after changing the codec, try in Developer Options to disable the Bluetooth A2DP Hardware Offload option. This will reduce the load on the processor, but can increase the sound latency.
Change the codec through the engineering menu (MTK and Qualcomm)
On Xiaomi devices with MediaTek processors (e.g. Redmi 9A, POCO M3) or Qualcomm Snapdragon (Redmi Note 11 series, Xiaomi 12), the codec can be changed through the engineering menu. This method requires caution - incorrect settings can lead to Bluetooth crashes.
Instructions for Qualcomm:
- Open the Phone app and enter the combination: ##4636##.
- In the menu that appears, select Phone Information.
- Scroll down to the Bluetooth section and tap it.
- Find the Audio Codec string and select AAC.
- Save the settings and restart Bluetooth.
For MediaTek:
- Install the MTK Engineering Mode app (available on 4PDA).
- Go to the Hardware Testing β Bluetooth section.
- Select Audio Settings and change the codec to AAC.
β οΈ Attention: On some firmware MIUI If nothing happens after you enter the code, the manufacturer has disabled this functionality. Do not try to bypass the lock through third-party applications, this can lead to soft-brick (software breakage) of the device.
Root Method: Editing System Files
If none of the above methods worked, the last option is manual editing of configuration files, which requires root rights and is only suitable for advanced users.
Step 1: Get root access with Magisk (see XDA Developers for instructions for your model).
Step 2: Open /system/build.prop file in any root-access text editor (e.g., Root Explorer or Mixplorer).
Step 3: Add or change the following lines:
persist.bluetooth.a2dp_offload_capability=255
persist.bluetooth.a2dp_offload_disabled=0
persist.bluetooth.aac_feature_mask=255Step 4: Save the file, set the rights 644 (rw-r--r---), and restart the device.
After the reboot, check the available codecs in Developer Options β AAC should appear.
What if Bluetooth stopped working after building.prop editing?
Problems after changing the codec and their solutions
Even if you've managed to turn on AAC, there may be side effects, and let's look at the typical problems and how to fix them:
| Problem. | Possible cause | Decision |
|---|---|---|
| The sound is interrupted. | Weak Bluetooth signal or interference | Turn off Wi-Fi (5GHz jamming) or move closer to your device |
| High battery consumption of headphones | AAC requires more energy to encode | Return to SBC or turn down the volume |
| Headphones don't plug in. | Incompatibility of codec with firmware | Reset your Bluetooth settings or update your MIUI |
| Delayed sound | Hardware acceleration of A2DP disabled | Enable Bluetooth A2DP Hardware Offload in Developer Options |
If the sound gets worse after the codec change (for example, wheezing or distortion), your headphones are probably not optimized for AAC.
- Try another codec (e.g. aptX if the device supports it).
- Update the firmware of the headphones (compatibility patches are often released for Sony or Bose models).
- Reset your Bluetooth settings on your smartphone (Settings β Connected Devices β Bluetooth Settings β Reset settings).
π‘
If your Xiaomi smartphone doesnβt support AAC at the software level, but the headphones are compatible, try custom firmware (like Pixel Experience or LineageOS).
How to Check if the Codec Has Changed
To make sure your smartphone is now using AAC, use one of the following methods:
Method 1: Developer Options
- Connect the headphones and turn on music playback.
- Go to Settings β Additional settings β Developer settings.
- Find the Bluetooth Audio Codec section, where the current codec should be displayed.
Method 2: Bluetooth Codec Checker
- Download the Bluetooth Codec Checker from Google Play.
- Open it and look at the current codec line.
- If there's an AAC, it went well.
Method 3: Bluetooth Logs (for advanced)
Follow the command in ADB:
adb shell dumpsys bluetooth_managerIn the output, find the A2dpState block, where the current codec will be indicated.
If the codec hasnβt changed, repeat the steps from previous sections or check your headphonesβ compatibility with AAC on the manufacturerβs website.