Ich verwende die PulseAudio-Funktion von Netzwerk-Soundgeräten (nicht Multicast / RTP), um zu Hause Sound von meinem Netbook auf den an den HTPC angeschlossenen Audiogeräten abzuspielen. Dadurch wird ein virtuelles Soundgerät erstellt, das ich anstelle des physischen integrierten Geräts verwenden kann. Meistens funktioniert das ganz gut. Manchmal wird das virtuelle Audiogerät jedoch einfach nicht angezeigt. Das Trennen und erneute Verbinden mit dem Netzwerk hilft manchmal, aber nicht immer, und es ist ärgerlich und möglicherweise schlecht für vorhandene TCP-Verbindungen.
Meine Frage lautet also im Grunde: Gibt es eine Möglichkeit, PulseAudio zu sagen: "Hey, schauen Sie noch einmal nach, wenn Sie wirklich kein Netzwerk-Soundgerät finden."
Edit: Das Entladen und das Nachladen module-zeroconf-discover
mit pacmd
nicht hilft entweder und es nicht scheint ein avahi Problem per se da avahi-browse -t --all | grep PulseAudio
zeigt viele rechts suchen Sachen, auch wenn die Geräte nicht in pavucontrol notiert sind oder pacmd list-sinks
.
Edit 2: Ich verwende Ubuntu 12.04 auf beiden Boxen für den Unterschied, den es machen könnte.
quelle
Antworten:
$ pacmd
Sie sehen eine Python-ähnliche Shell mit der folgenden Begrüßungsnachricht.
Welcome to PulseAudio! Use "help" for usage information. >>>
>>> list-sinks
Jetzt sehen Sie eine detaillierte Liste aller Soundsenken.
1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
...
Die Zeichenfolge meines Interesses ist nur "alsa_output.pci-0000_00_1b.0.analog-stereo".
$ pactl load-module module-tunnel-sink "server=192.168.1.105 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=home_theater"
Hier ist 192.168.1.105 die IP-Adresse des Senken-PCs "alsa_output.pci-0000_00_1b.0.analog-stereo" "ist die Zeichenfolge, die Sie gerade vom Terminal der Senke kopiert haben, und" home_theater "ist nur ein ausgefallener Name, um dieses virtuelle Soundausgabegerät auf Ihrem Computer aufzurufen.
$ pacmd set-default-sink home_theater
Wallah !!
quelle
Ein einfacher
sudo service avahi-daemon restart
macht den Trick, obwohlavahi-browse
sieht die Geräte vor diesem Avahi-Neustart. Vielen Dank an Takkat, der mich in die richtige Richtung gelenkt hat.quelle
Diese Antwort ist ungetestet und funktioniert möglicherweise nicht, führt Sie jedoch möglicherweise in die richtige Richtung.
Ich kann ungelöste Probleme mit einem Avahi-Dienst bestätigen , der manchmal keine Verbindung zu einem PulseAudio-Server herstellen kann. Möglicherweise können wir die Verbindung wieder herstellen, indem wir entweder das Netzwerk oder den Pulseaudio-Server neu starten. Leider funktioniert dies nicht immer.
Um dieses Problem zu beheben, versuchen wir möglicherweise, einen Netzwerk-Audio-Stream mithilfe des nativen TCP-Protokolls einzurichten, um direkt auf die IP zu streamen, anstatt eine Avahi-Namensauflösung zu verwenden.
Dazu können wir eine Remote-Senke tunneln, indem wir die Modul-Tunnel-Senke auf der Empfängerseite laden . Auf dem Absender müssen wir das native TCP-Protokoll aktivieren, indem wir module-native-protocol-tcp laden .
Siehe auch diese Frage zur Terminologie und zum Definieren der
PULSE_SERVER
Variablen:So setzen Sie die PulseAudio-Standardsenke beim Booten automatisch auf den Remote-Server - Ubuntu 9.04
Es ist eine ziemlich alte Frage für Ubuntu 9.04, aber an meiner bekannten Terminologie und Prozedur haben sich seitdem nicht viel geändert.
Bitte folgen Sie auch dem PulseAudio-Wiki zu Netzwerkverbindungen .
quelle
sudo service avahi-daemon restart
Ich habe das nicht erwartet, weilavahi-browse
die Geräte bereits vor dem Neustart angezeigt werden, aber ich denke, der Neustart löst einen erneuten Aufruf des Rückrufs aus, was alles ist, was benötigt wird.Sie könnten versuchen
pulseaudio -k
, den Pulseaudio-Dienst zu beenden (er scheint automatisch neu zu starten). Das hat mir schon früher etwas gebracht.Die andere Sache, die manchmal hilft, ist das Deaktivieren und erneutes Aktivieren der Kontrollkästchen in
Pulseaudio Preferences
(akapaprefs
). Kontrollkästchen sindMake discoverable PulseAudio network sound devices available locally
inNetwork Access
undEnable network access to local sound devices
inNetwork Server
. Offensichtlich funktioniert dies wahrscheinlich nur für den, den Sie verwenden.quelle