How to change Bluetooth codec on Xiaomi: a complete guide to setup

If you use wireless headphones or a speaker with Xiaomi, you’ve probably encountered a situation where the sound quality is poor. The reason may lie in the wrong Bluetooth codec β€” the compression and transmission algorithm of the audio stream. By default, Xiaomi smartphones (including Redmi, POCO and Mi models) often use the basic SBC codec, which provides compatibility, but not the best quality. In this article, we will discuss how to manually change the codec to a more advanced one (AAC, aptX, LDAC or LC3) and what it will take.

It’s important to understand that not all codecs are supported by your device and headphones at the same time, for example, aptX requires licensing support from Qualcomm’s chipset. LDAC Available only on Android 8.0 devices+ And we'll look at all the different ways we can go from standard settings to use. ADB-commands and third-party applications.

Why you should change the Bluetooth codec on Xiaomi

By default, Xiaomi smartphones choose the codec automatically, focusing on compatibility with the connected device. However, automatic choice is not always optimal. Here are the key reasons why you should change the codec manually:

  • 🎧 Poor sound quality: codec SBC compresses lossy audio, which is noticeable on high frequencies and bass.
  • πŸ”Š Sound delays: When watching videos or games, lags can reach 100-300 MS, which is critical for synchronization.
  • πŸ“Ά Unstable connection: some codecs (e.g, AAC) They better handle the noise on the air.
  • πŸ”‹ Increased battery consumption: suboptimal codec makes the Bluetooth module work with increased load.

For example, the aptX Adaptive codec dynamically adjusts to communication conditions, reducing latency to 40 ms, and LDAC transmits audio in a quality close to CD (up to 990 kbit / s), but they require support from headphones and smartphones.

πŸ“Š What Bluetooth codec are you currently using?
SBC
AAC
aptX
LDAC
I don't know.
Other

What Bluetooth codecs support your Xiaomi

The list of available codecs depends on the smartphone model, Android version and hardware platform. Below is a compatibility table for popular Xiaomi devices:

Xiaomi modelChipsetSupported codecsMax. bitrate.
Xiaomi 13 ProSnapdragon 8 Gen 2SBC, AAC, aptX, aptX HD, aptX Adaptive, LDAC, LC3990 kbit/s (LDAC)
Redmi Note 12 Pro+Dimensity 1080SBC, AAC, aptX, LDAC990 kbit/s (LDAC)
POCO F5Snapdragon 7+ Gen 2SBC, AAC, aptX, aptX Adaptive, LC3576 kbit/s (aptX Adaptive)
Xiaomi 12TDimensity 8100-UltraSBC, AAC, LDAC, LC3990 kbit/s (LDAC)
Redmi 10CSnapdragon 680SBC, AAC328 kbit/s (AAC)

To find out which codecs your device supports, use the Bluetooth Codec Info app (available on Google Play), which will show all available codecs and the current active one, and you can check supported codecs through ADB (more on this below).

⚠️ Note: AptX codecs and LDAC Some Xiaomi budget models (e.g. Redmi) require a license fee from the manufacturer. 9A or POCO M3) They may not support them even if they have a chipset.

Method 1: Change the codec through the developer settings

On most Xiaomi smartphones with Android 10+, you can enable codec selection through the Developer Menu.This method does not require root rights or additional applications, but does not work on all firmware (for example, on MIUI Global, the option may be hidden).

β˜‘οΈ Preparing for codec change

Done: 0 / 4

Instructions:

  1. Open Settings β†’ About the phone and tap 7 times on the item Build Number to activate the developer mode.
  2. Return to the main settings menu and select Additional β†’ For developers.
  3. Find the Bluetooth Audio Codec (or Bluetooth Audio Codec) option.
  4. Select the desired codec from the list (for example, aptX HD or LDAC).
  5. Reconnect the headphones so that the changes take effect.

If you don't have an option, it means your firmware doesn't support manual codec selection, so move on to the next method.

πŸ’‘

After changing the codec, check the sound quality in the Wavelet app (available on Google Play), which allows you to test delays and bitrate in real time.

Method 2: Using ADB to force codec change

If the developer menu does not have the option of selecting a codec, you can apply ADB-This method works for most Xiaomi devices with Android 8.0.+, But it requires a computer connection:

  • πŸ–₯️ Computer with Windows, macOS or Linux.
  • πŸ”Œ USB-Type C Cable (original or high-quality analogue).
  • πŸ“₯ Utility. ADB (You can download from the official Android website).
  • πŸ“± Initiated Debugging Mode USB smartphone.

Step-by-step:

  1. Download and unpack Platform Tools (includes adb.exe).
  2. Connect the smartphone to the computer and allow debugging (a request will appear on the phone screen).
  3. Open the command prompt (cmd in Windows or Terminal in macOS/Linux) and go to the folder with adb:
cd path to folder platform-tools
  1. Run a command to check the connection:
adb devices

If the device appears in the list, continue.

  1. Check out the current Bluetooth settings:
adb shell settings list global | grep bluetooth
  1. Install the codec you want (e.g. LDAC):
adb shell settings put global bluetooth_a2dp_codec_priority "ldac"

Values for other codecs:

  • aac for AAC;
  • aptx for aptX;
  • sbc for SBC.

After you complete the command, reconnect the headphones. To keep the changes after the reboot, add a command to the autoboot via Tasker or a similar app.

⚠️ Attention: On some firmware MIUI (especially the Chinese versions) ADB-The codec change commands may not work because of the manufacturer's limitations, and only the firmware on Global will help. ROM or use of Magisk modules.

Method 3: Third-party applications for codec management

If previous methods have failed, you can use specialized applications that don't always guarantee results, but often help you bypass the limitations of MIUI.

1. Bluetooth Audio Codec Changer

The Bluetooth Audio Codec Changer app (available on GitHub and some third-party stores) allows you to manually select codecs without ADB.

  • πŸ“± Android 8.0+;
  • βš™οΈ Developer mode on;
  • πŸ”“ Permission to change system settings (issued automatically at first start-up).

After installation:

  1. Open the app and select the connected headphones.
  2. Slip on the current codec and select an alternative (e.g. aptX).
  3. Reconnect the device.

2. Developer Quick Settings (DQS)

A module for Magisk that adds a quick settings panel with a choice of codec, suitable for users with root rights.

  1. Install Magisk Manager and download the DQS module.
  2. Activate the module and restart the device.
  3. In the notification panel will appear a new switch Bluetooth Codec.

Both methods require caution: not all codecs work consistently on uncertified devices, for example, forced LDAC on unaccompanied chipsets can lead to communication breakdowns.

What to do if the app does not see the headphones?
Check if your device supports the selected codec ADB-Adb shell dumpsys media.audio_flinger. If the output does not contain a line with the codec name, it is not compatible with your chipset.

Problems after changing the codec and their solution

Changing a Bluetooth codec doesn’t always go smoothly, so let’s look at the typical problems and how to fix them:

Problem.Possible causeDecision
The sound is interrupted or lost.Incompatibility of the codec with headphones or weak Bluetooth signalReturn to SBC or AAC, reduce bitrate in codec settings
Increased sound delayAAC or LDAC codec in jamming conditionsSwitch to aptX Low Latency or LC3
The device is not connected.Failure after changing the codec through ADBReset Bluetooth settings (Settings) β†’ Connections β†’ Bluetooth β†’ βš™οΈ β†’ Drop it)
Poor sound qualityBitrate is limited at the level of headphonesCheck the headphone settings (for example, in the manufacturer's application)

If the sound gets worse after changing the codec, try:

  1. Clear the Bluetooth cache (Settings β†’ Applications β†’ Application Management β†’ Bluetooth β†’ Clear the cache).
  2. Reverse changes through ADB:
adb shell settings delete global bluetooth_a2dp_codec_priority
  1. Update the headphone firmware (if supported).

πŸ’‘

On Android 13+ and MIUI 14+ devices, the LC3 codec can be more stable than LDAC by optimizing for the new Bluetooth 5.2+ standards.

How to Check if the Codec Has Changed

To make sure that the new codec is applied, use one of the following solutions:

  • πŸ“Š Bluetooth Codec Info (Android app) – shows current codec, bitrate and latency.
  • 🎡 Wavelet – Tests sound quality and synchronization.
  • πŸ–₯️ ADB β€” execute:
adb shell dumpsys media.audio_flinger | grep -i codec

In the conclusion, find a line of the form codecType: aptX or codecType: LDAC.

If the codec hasn't changed:

  • Check if your device supports it (see the table above).
  • Make sure the headphones are connected in A2DP mode (not HFP for calls).
  • Reboot your smartphone and headphones.

FAQ: Frequent questions about changing the Bluetooth codec to Xiaomi

Can you change the codec to Xiaomi without root rights?
Yes, on most models, this is possible through the developer menu or ADB. Root is only required to force codec changes on uncertified devices (for example, through Magisk).
Which music codec is better for music: AAC or LDAC?
Depending on the hardware: AAC is versatile, works well on Apple devices, but can lose in quality. LDAC is the best quality (up to 990 kbit / s), but requires stable connection and supported headphones. For Xiaomi with the Snapdragon 8xx chipset, aptX Adaptive is optimal - it balances between quality and latency.
Why did the codec change the sound so much?
Some codecs (e.g. LDAC) transmit sound without additional processing, which may make it seem like the volume has dropped.Solution: Turn on the equalizer in the music app (e.g. Poweramp). Check the headphone settings (possibly activated Safe Volume mode).
Does the Xiaomi aptX codec work with the MediaTek chipset?
AptX codecs are officially supported only on Qualcomm chipsets. On MediaTek (e.g. Dimensity 1080 in Redmi Note 12 Pro+), they can run through workarounds (e.g. Magisk modules), but stability is not guaranteed.
How to reset Bluetooth codec settings to standard?
Adb shell settings delete global settings bluetooth_a2dp_codec_priority Or reset your network settings (Settings) β†’ System system β†’ Reset β†’ Resetting network settings).