One mixer, one rate
Android’s audio system, AudioFlinger, mixes every app into a single stream per output: music, notifications, games, navigation. A mixer needs one rate, and on most phones that rate is 48 kHz. A 44.1 kHz track is converted to 48 on the way in; a 96 kHz track is converted down. The conversion is decent on modern phones, but the DAC receives something other than the file.
It used to be worse: 16 bits
Many Android players, and some media frameworks by default, also process audio as 16-bit integers. A 24-bit file loses its bottom eight bits before the mixer ever sees it. That is a player choice, not an Android limit: a player can process in 32-bit float and hand float to the system. MP95 for Android does, and 24-bit files stay 24-bit.
What Android 14 changed
Android 14 lets an app ask the system to run the mixer for a USB audio device with specific attributes, including the sample rate, chosen from the list the device reports. A player that uses it can switch the DAC to 44.1 for a CD rip and to 96 or 192 for hi-res, track by track. MP95 does this when Match output sample rate is on.
On Android 13 and older
There are two ways around the mixer: accept its rate, or bypass Android’s audio system entirely with an app that ships its own USB driver. USB Audio Player Pro is the best-known example. It works on any version, at the cost of fighting other apps for the device. MP95 vs UAPP.
The speaker and Bluetooth
The built-in speaker and headphone jack run at the phone’s fixed rate. Bluetooth re-encodes everything with its own codec. For these outputs, rate matching does not apply; a clean float path is the best a player can do. What the player controls over Bluetooth.
How to check
A DAC with a rate display is the simplest check. In MP95, Settings → Sound → Hi-Fi shows the live Output line: the rate the device actually runs at, and whether anything is processing.
Frequently asked questions
Is 48 kHz resampling audible?
With a good resampler, rarely. The point of avoiding it is that the file reaches the DAC unchanged.
Does rooting help?
Root allows changing system audio configuration, but it is not needed on Android 14+ with a USB DAC.