6

I have a home linux server running the PulseAudio - with shared audio devices, that are connected to cool sound system.

And I have an Android 4.4-based phone. I want to stream audio from my phone to the PulseAudio server.

How to do that?

1
  • Maybe registering it as Bluetooth input device? I don't know if something like that is offered "by stock", but I could imagine it could work like "declaring your Linux PC a BT headset", pairing it, and have your audio streamed to the "big headset" then. I never tried this, though :)
    – Izzy
    Nov 30, 2013 at 20:18

2 Answers 2

5

For my linux distribution (Fedora 20) it's quite simple:

  1. [PC] Run PulseAudio. (Runs automatically on Fedora)
  2. [PC] Load module bluetooth-discovery. (It's auto-loaded on Fedora)
  3. [PC, Android] Pair with Android-phone via Bluetooth.
  4. [Android] In device's options set the profile "Use for media audio".
  5. [PC] Connect to the phone.
  6. [Android] Play music. (I use Google Play Music - it works)
  7. [PC] The phone's stream is detected as an Input Source - in case, you want to mute or amplify it.

Caveats

The only problem is the step 5. I can't connect to PC from my phone - I think, it's a linux problem - and it's another question for another forum.

2
  • this instructions could be clearer... how do you do #2 and #3?
    – samura
    Mar 6, 2016 at 18:14
  • Some help for others that might stumble on this page. . On ubuntu 16.04 use sudo apt install pulseaudio-module-bluetooth to install the required module. Use pactl load-module module-bluetooth-discovery to load it. If you see Failure: Module initialization failed then it's probably because the module is already loaded. Pair your phone through the system bluetooth menu (i.e. in unity-control-center). I had to initiate the pairing from ubuntu rather than the phone (the phone didn't see the PC). media audio was already enabled by default. The input shows up in the system sound menu. Sep 16, 2017 at 22:31
3

Currently there is no built-in protocol for "stock" Androids to connect to remote Pulseaudio servers. However, a custom ROM HAS been made to include Pulseaudio as the Android sound engine. Maybe soon your answer will be built into Androids.

SO. What CAN you do to get Android sound to a remote rendering engine? One answer says send it over Bluetooth which only works well for short distances and for Media PCs with Bluetooth. This is the first thing to try, and it may even be worth the small expense of buying a USB Bluetooth adapter for your media PC. It has the distinct advantage of working with all players.

If you don't have Bluetooth or you want more range, you can also install a UPnP server on your Linux machine. Rygel is one. Some player applications can send audio to remote UPnP devices, others can't. Look in the settings of your player for words like "throw" and "renderer" these settings allow you to choose a remote player. UPnP devices are recognized automatically and can be selected for playback once found.

One free UPnP audio player is UPnPlay. Install this from Play Store and select the rendering engine of your Linux PC running rygel. This method will use the WiFi of your Android device to send audio to the media PC. The range will be much greater than Bluetooth.

If you run Kodi on your Media PC, turn on UPnP in settings and kodi will do the work of rygel. The paid version of Yatse, a Kodi remote, can also throw to remote servers.

1

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .