Changing bluetooth audio codec

My bluetooth headphones that support SBC, aptX, aac and LDAC bluetooth audio codecs, on the Fairphone 3 they are always using SBC. When I change it to another codec in the developer options it doesn’t have an effect and switches automatically back to SBC when I leave the settings. On other Android phones it usually works to change the codec.


Many thanks for this first piece of information.
Would you like to ask a specific question here or mention a problem you would like to get solved?

I would like the problem to get solved from the community if that’s possible. Maybe there is another way to change the bluetooth codec that I don’t know of.

If not, of course it would be nice if it could be fixed by Fairphone in the next OS update.

1 Like

Does Android use PulseAudio? If yes, this repository allowed me to get these codecs to work on Linux desktop

My earbuds dont support LDAC, but aptX and aptX HD don’t seem to work for me either. AAC seems to work fine though, there is an option “HD Audio: AAC” in the settings for the bluetooth device which can be enabled and stays active even after reconnection.

Extract from an ‘adb logcat’:

 E a2dp_vendor_aptx_encoder: A2DP_VendorLoadEncoderAptx: 
    cannot open aptX encoder library libaptX_encoder.so: 
    dlopen failed: library "libaptX_encoder.so" not found
E a2dp_vendor_aptx: init: cannot load the encoder
E a2dp_vendor_aptx_hd_encoder: A2DP_VendorLoadEncoderAptxHd: 
    cannot open aptX-HD encoder library libaptXHD_encoder.so: 
    dlopen failed: library "libaptXHD_encoder.so" not found
E a2dp_vendor_aptx_hd: init: cannot load the encoder

It seems that the aptx libraries are not included for some reason. (Please note that I dont have any updates installed so far)

PS: No there is no pulseaudio on Android.

Yeah, I suppose it costs a vendor money to have those proprietary libraries shipped.

With an unlocker bootloader you could install that aptX package from XDA developers.

I’m having the same issue.

My Fairphone 2 which is running LineageOS 15 (Android 8.1) does not have this issue - can do AAC and LDAC.

I’m unclear as to what to do next.

Doing more research. This post about aptX on LineageOS seems related and seems to confirm what you’re saying, @JeroenH

I’m not happy with this outcome though. I’ve sent a support request.

Edit: Wikipedia says LDAC is open source and included in AOSP. So what you said about aptX doesn’t apply to LDAC.

Update: latest message from support:

I can confirm that HD codecs are not included at the moment.

I have been asking, every Monday, for updates on your other questions: I asked if we offer any alternatives and how to help you connect at a better quality, but, unfortunately, I still have no answer.

I will keep your request on hold until I have an answer.


Did you receive any update to this after two months? :slight_smile:

@aljoscha Nothing yet. I’ve asked for an update :slight_smile:


Here’s the relevant part of the response I received:

Unfortunately, so far I’ve received no reply. Today I have forwarded your question to our product again asking for an answer.
In a week I will contact you again and let you know if we are able to give you an answer or not.

1 Like

Update (3rd of June but I’ve been busy):

Some progress but no news yet.
Unfortunately, the older team leader of our product team, responsible for the Fairphone 3 project, after being with us for several years left the company after Fairphone 3 was released.

The current leader of the product team reached out to me telling me this matter will most likely be covered in a broader project over the documentation of all the processes leading to the creation of Fairphone 3. It will take some time as it is not a top priority at the moment, we are now talking about Q3 2020.

I’ve ‘snoozed’ the email till September, to remind me to follow up.


I have the same problem. Bought a pair of Apple AirPods Pro, but they sound like crap when making calls, and the person I’m speaking with can’t hear me well either, so I hope this can be fixed.

As I understand, we shouldn’t need to go into developer mode to change this. It should be available as a choice in the Bluetooth settings for each paired device.

Update (relevant parts + a typo corrected):

I apologize for the long wait and for the answer that will follow.
After my umpteenth request I have to accept that I am not able to satisfy your request, neither can anyone else.
Being still a small company we constantly need to reassess our priorities.

At this moment, we do not have the available resources to examine why, several years ago, someone made the decision to not include high-quality audio codecs. It might have been related to budget, it might have been an oversight as you suggested, or yet other reason.

Unfortunately, with our priority always shifting, we most probably will not be able to tell you, even the future. Considering this I will now close this ticket.


Thank you for following up on this! I’ve been keeping an eye on it and I find it amazing that my headset used to work in A2DP and since a few updates ago can only use HFP on Signal and such. You must be even more frustrated than I am. Thanks for posting this!