How to use an Android phone as an wireless headset for Linux
Most Linux distributions today use pulseaudio audio subsystem. Pulseaudio supports creating of virtual devices.
To use an Android phone as an wireless headset for Linux we can use this ability of Pulseaudio and Mumble - free VoIP application.
Note: Plumbe application for Android is outdated and not very stable now (2019-08-01). It works for me, but with random crashes now and then.
Install Mumble server (called Murmur) and Mumble client on Linux (Debian has it in default repos)
Install Plumble (Mumble client) application on Android
Create virtual sinks for Pulseaudio - edit
/etc/pulse/default.pa and add:
load-module module-null-sink sink_name=mic_sink sink_properties=device.description="mic_sink" rate=48000 channels=2 load-module module-null-sink sink_name=app_sink sink_properties=device.description="app_sink" rate=48000 channels=2
(You may need to change or omit
channels parametrs to match ones of your system.)
$ pulseaudio -k
Now start Mumble client on desktop and on mobile and connect to your self-hosted Mumble server.
Assign Mumble client output to
mic_sink virtual device.
Assign Mumble client input (recording) to (monitor of)
app_sink virtual device.
Configure your app for what you're going to use your phone as headset in inverted manner:
- set output to
- set input (recording) to (monitor of)
Now you should be able to use your phone as a headset in configured app. I tried this with Skype with max audio quality and min latency settings over Wi-Fi and it works good, through mobile client is outdated and not very stable when you do something in it.
pavucontrol saves its settings, but you may also check if your application has audio settings and select the right settings in it as well.