Projektseite bei Github
App bei F-Droid
Vorbereitung auf dem PC (Befehle werden im Terminal eingetragen)
Pulseaudio installieren: sudo apt-get install pulseaudio
Server aktivieren: sudo gedit /etc/pulse/default.pa
als letzte Zeile folgendes eintragen, danach abspeichern: load-module module-simple-protocol-tcp record=true source=0 channels=2 rate=44100 format=s16le port=12345
Pulseaudio neustarten: pulseaudio -k
Wenn bereits ein Audioprogramm gestartet war, muss dieses beendet und neu gestartet werden
Auf dem Smartphone Simple Protocol Player starten, Ip-adresse des Rechners und Port einstellen. Die Ip-adresse kann man beim Rechner mit ifconfig herausfinden
Startknopf in der App drücken und Musik auf dem Rechner starten. Der Ton sollte nun auch auf dem Smartphone kommen.
Um den Lautsprecher am PC zu deaktivieren (weil die App ein wenig Latenz hat) Alt+F1 -> Unterhaltungsmedien -> PulseAudio Lautstärkeregler starten, Reiter Ausgabegeräte wählen und Kopfhörer wählen. Danach war zumindest bei mir nur noch der Lautsprecher beim Smartphone an.
Man kann auf dieselbe Weise mehrere Smartphones anschließen.
Die Daten werden unverschlüsselt übertragen, jeder der euren Rechner auf diesem Port erreichen kann, kommt also auch an die Audioausgabe.
um die Samplerate zu ändern stellt man sowohl auf dem Smartphone als auch auf dem Rechner dieselbe Samplerate ein. Auf dem Rechner wird in /etc/pulse/default.pa in der von euch eingetragenen Zeile der Wert z.B. auf rate=11025 geändert. Für Mono trägt man channels=1, für Stereo channels=2 ein. Die Werte sind proportional zur Übertragungsrate, Mono braucht halb so viel wie Stereo, 11025Hz 1/4 so viel wie 44100 Hz. Zum Vergleich: channels=1 rate=11025 braucht 25kByte/s, viele Mobilfunkanbieter drosseln auf 8kByte/s (falls ihr nicht über LAN sondern Mobilfunk streamen wolltet).
Noch ein Hinweis: Das Streamen von Musik über das Internet oder sonstiges Verteilen kann illegal sein, Privatgebrauch im LAN zuhause ist normalerweise legal. Ihr seid selbst verantwortlich, nicht ich!
Notiz:
Die Übertragungsrate könnte durch geringere Bit pro Sample verringert werden, siehe auch
Bittiefen für pulseaudio freedesktop.org
pulsedroid/PulseSoundThread.java Zeile 74 und 77