Robert Triggs/Android Authority
While the majority of us are well acquainted with Bluetooth audio, not so many of us are familiar with Bluetooth audio codecs. They determine the quality, connection stability and power consumption of the data conversation between any two wireless devices. All A2DP-enabled devices – meaning any modern phone or headset – host the SBC audio codec by default. However, LC3/LE Audio appears to be replacing this shortly, and some Bluetooth 5.2-enabled devices already offer LE (Low Energy) audio. While this relatively new technology will take some time to be rolled out en masse, there are a plethora of high-quality audio codecs that users can take advantage of today.
Audio codecs determine the quality, stability and power consumption of a headphone’s Bluetooth connection. But they are hide-and-seek champions on Android.
However, our audio codec choices aren’t always presented to us in a user-friendly way. For example, I recently paired my Samsung Galaxy Buds Pro earbuds with my OnePlus 9 Pro. Without getting any notifications, I assumed my devices would be paired using the highest quality connection available. After digging around in my phone’s settings, I found that they were indeed paired via the basic SBC codec. This connection offers transfer speeds of up to 320 Kbps, but loses a lot of audio data and quality in the process. Given that Samsung Galaxy Buds Pro are capable of streaming 250 Kbps audio in AAC quality, this isn’t what I was hoping for.
I only discovered this because I was actively looking for it. Others out there may never realize that their earbuds connect via SBC and give them lower quality audio than they can. The switches are buried deep in our phones’ UI settings menus. This got me thinking: why are we being deprived of useful audio codec switches?
Check the audio codec your Bluetooth headphones connect through?
Audio codec prioritization is not universal
Thomas Triggs/Android Authority
In all fairness, the blame doesn’t fall on Android’s shoulders. Google has already developed code that can be implemented that prioritizes the Bluetooth connection options between the source device and the sink. The problem seems to be on the side of the smartphone manufacturers who do not integrate this feature into their devices. Android should choose the best connection, but it depends on how the phone’s preferred audio codec order is set.
Your headphones might have better audio quality, but your phone might default to a lower quality codec. There is no standard implementation.
I’ve seen firsthand how inconsistent Bluetooth codec choices are. Alongside the Samsung Galaxy Buds Pro, the Nothing Ear 1 and Sony LinkBuds S also prioritize SBC when pairing with a OnePlus 9 Pro device. In contrast, the OnePlus Buds Pro connect using the high-resolution LHDC Bluetooth codec via SBC. When using a Samsung Galaxy S23, the Bose NC700 headphones prioritize AAC over SBC. The Sony WH-1000XM3 headphones do the same, prioritizing LDAC over SBC.
The common theme here is that there is no standardized implementation of Bluetooth audio codecs. While some phones prioritize the standard SBC standard, others don’t. It’s a problem that can cause many wireless headphone users to forgo better audio quality and more complex audio features. If you want spatial audio or lossless music streaming, it’s best to check your codec options.
Why codec choice and implementation matter
Thomas Triggs/Android Authority
There are three factors that contribute to the overall quality of wireless audio streaming. First and foremost is the quality of the source file. For example, Spotify Premium’s default streaming quality ranges from 24 Kbps to 320 Kbps depending on your network connection. This affects which file format is streamed between HE-AACv2, Ogg/Vorbis, or AAC. TIDAL Premium is slightly better, consistently streaming in AAC quality between 96 Kbps and 320 Kbps. In contrast, a TIDAL HiFi Plus account streams CD-quality FLAC files at 1411 Kbps up to 96 kHz/24-bit audio at 9216 Kbps. The caveat here is that streaming high quality audio consumes a lot of data.
Second in the chain are Bluetooth audio codecs. SBC can handle lossy music below 320 Kbps, but is unable to extract the finer details of higher quality source files. If you want to experience high-quality wireless audio, aptX Lossless and OPPO are your best codec options. Each claims an impressive bandwidth of 1Mbps and 990kbps respectively. The real world difference in quality between these two codecs and LDAC or LDHC is arguably fine-tuned. They run between 990 Kbps and 900 Kbps respectively and ensure high quality streaming. But audiophiles looking for a wireless option will want a codec capable of handling the highest possible bitrate transfer.
The final piece of the puzzle is the headphones themselves. The quality of the drivers, tweeters and radio transmitters affect the final stage of a user’s listening experience. A good example of this is comparing the Nothing Ear 1 to the Samsung Galaxy Buds Pro. Nothing Buds 11.6mm speaker drivers deliver clear, high-quality sound. But paired with the Samsung Galaxy Buds Pro’s 11mm two-way woofer and 6.5mm tweeter speaker drivers, they’re simply outclassed. Also, when pairing my Nothing Ear 1 buds via SBC with my OnePlus 9 Pro device in my pocket, the wireless connection drops. If you want a stable streaming experience, you want a smartphone and headphones that share good transmission capabilities.
Headphone apps aren’t as universal as we think
Thomas Triggs/Android Authority
Most confusingly, your accessibility experience will vary wildly depending on the headphone brand and associated app.
I was hoping the buds would reveal Samsung Buds Pro and Nothing Ear 1 audio codec choices in their apps. Disappointingly, both the Samsung Wearable and Nothing X apps fall short here. There is no mention whatsoever of Bluetooth codecs or how to change them. The HeyMelody app for my OnePlus Buds Pro is even worse; It took me back through my phone’s settings to bring up the headphone settings menu.
Headphone apps don’t do the simple and essential job of showing us our audio codec options.
However, the Sony Headphones app allows users to choose which codec they want to use based on their preferences. Here you can choose whether you want to prioritize a stable connection or the sound quality. This is useful as crowded radio environments like train stations or airports may require a more focused wireless connection. You might even get better use of high-quality audio streaming outdoors. Giving users the ability to switch between the two improves the flexibility of a user’s listening experience. And if Sony can do it, why can’t others?
The most confusing question is why other headphone manufacturers don’t prioritize this setting in their apps when it can affect the overall audio listening experience and change a user’s perception of the quality of their product.
How to change audio codecs on Android
Bluetooth settings menu developer options
To get the most out of high-quality audio playback, you should check your connection settings. To do this, you need to navigate to your phone’s settings menu and then go to the Bluetooth submenu. When you click on your paired headphones, their settings page should appear. Here you will see a toggle button for Media Audio or HD Audio. Pressing this should bring up your audio codec options. On devices like OPPO and OnePlus, this is simplified to either standard or HD options. But when pairing with the Samsung Galaxy S23 Ultra and Google Pixel 7 Pro, for example, the HD codec appears next to the HD audio toggle.
However, not all audio codec options appear this way. For example, when pairing with the Samsung Galaxy S22 Ultra, the audio codec options appear in the Developer options menu. You can enable this hidden menu from the phone’s main settings and navigate to the About phone page. Select Software Information, then quickly tap the Build Number button several times. Once enabled, the Developer Options page will list Audio Codecs as a drop-down menu. The codecs are displayed in order from the lowest to the highest transmission speed.
Which audio codec is the best?
Choosing the best audio codec is not easy. It all depends on what you want to privilege – quality, latency or stability. In general, the lossless LDHC and aptX are currently the highest quality codecs. LDAC and AAC are not lossless, but still offer good audio quality. SBC is the lowest quality codec and you should only choose it if no other option is available. Check out our Audio Codec Explainer for more information.