USBaudio
This tool forwards audio from an Android device to the computer over USB. It works on Linux with PulseAudio.
The purpose is to enable audio forwarding while mirroring with scrcpy. However, it can be used independently, and does not require USB debugging enabled.
Note that AOA audio, the feature used by USBaudio, is deprecated since Android 8.0. For Android 10, use sndcpy instead.
Build
Install the following packages (on Debian):
sudo apt install gcc git meson vlc libpulse-dev libusb-1.0-0-dev
Then build:
git clone https://github.com/rom1v/usbaudio
cd usbaudio
meson x --buildtype=release
cd x
ninja
To install it:
sudo ninja install
Run
Plug an Android device.
If USB debugging is enabled, just execute:
usbaudio
You can specify a device by serial or by vendor id and product id:
# the serial can be found via "adb device" or "lsusb -v"
usbaudio -s 0123456789abcdef
# the vid:pid is printed by "lsusb"
usbaudio -d 18d1:4ee2
To stop playing, press Ctrl+C.
To stop forwarding, unplug the device (and maybe restart your current audio application).
To only enable audio accessory without playing, use:
usbaudio -n