Android is an open platform.

It is a very popular platform to drive smart phones.

As this website is about file based audio, I will focus on the audio part.


The Bluetooth audio standard is well supported by Android.

From Android 8 on, beside the mandatory SBC codec, AAC, aptX, aptX HD en LDAC are included.
Of course you need an aptX or LDAC enabled headphone to use them.

More details can be found here.

USB audio

Android 4 introduced accessory mode.

USB DAC's expect a USB host hence USB audio didn't work.

Android 5 supports USB audio in host mode.

At that time only 16 bit was supported hence running a 24 bit DAC didn't work

Android 8 allowed me to send 24 bit / 96 kHz to my DAC.

It looks like Android 8 is UAC1 compatible.

More details can be found here.

Native sample rate

Most phones have a fixed native sample rate of 48 kHz.

This means all audio had to be resampled to this rate for local playback.

Note that this is a property of the phone, not a limitation inherent to Android.


Android has a native audio system called AudioFlinger.
It provides an API for playback/recording

Multiple values

Often in tags like Artist you have often more than one performer.
Once I asked the developer of UPnPlay why this was not supported in his app.
According to him the data mode of the Android Mediastore simply don’t support this.

  1. USB audio - Android Open Source Project
  2. PulseAudio vs. AudioFlinger - Arun Raghavan