rom1v / usbaudio

Forward audio from Android devices
MIT License
350 stars 32 forks source link

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

Blog post