J'utilise la fonction PulseAudio des périphériques audio du réseau (pas de multidiffusion/RTP) pour lire le son de mon netbook sur l'équipement audio connecté au HTPC à la maison. Cela crée un périphérique audio virtuel que je peux ensuite utiliser à la place du périphérique physique intégré. La plupart du temps, cela fonctionne très bien. Parfois, cependant, le périphérique audio virtuel n'apparaît pas. Se déconnecter du réseau et se reconnecter au réseau aide parfois, mais pas toujours, et est gênant et potentiellement dangereux pour les connexions TCP existantes.
Ma question est donc la suivante: y a-t-il un moyen de dire à PulseAudio "Hé, il suffit de regarder à nouveau si vous ne pouvez pas vraiment trouver un périphérique de son réseau". ?
Edit: Décharger et recharger le module-zeroconf-discover
avec pacmd
n'aide pas non plus et il ne n'apparaît pas être un problème avahi en soi puisque avahi-browse -t --all | grep PulseAudio
montre beaucoup de choses qui semblent correctes, même lorsque les périphériques ne sont pas listés dans pavucontrol ou pacmd list-sinks
.
Edit 2: J'utilise Ubuntu 12.04 sur les deux cases pour toute la différence que cela pourrait faire.
Un simple Sudo service avahi-daemon restart
fait l'affaire, même si avahi-browse
voit les périphériques avant que l'avahi ne redémarre. Merci à Takkat de m'avoir orienté dans la bonne direction.
$ pacmd
Welcome to PulseAudio! Use "help" for usage information. >>>
>>> list-sinks
1 sink(s) available. index: 0 name: <alsa_output.pci-0000_00_1b.0.analog-stereo>
La chaîne de mon intérêt est simplement "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"
$ pacmd set-default-sink home_theater
Cette réponse n’a pas été testée, elle risque donc de ne pas fonctionner, mais elle peut vous conduire dans la bonne direction.
Je peux confirmer non résolu problèmes avec un service Avahi qui est parfois incapable de se connecter à un serveur PulseAudio. Nous pouvons réussir la reconnexion en redémarrant le réseau ou le serveur pulseaudio mais, hélas, cela ne fonctionne pas toujours.
Pour résoudre ce problème, nous pouvons essayer d'établir un flux audio réseau en utilisant le protocole natif TCP pour diffuser directement sur IP, plutôt qu'en utilisant une résolution de nom Avahi.
Pour ce faire, nous pouvons tunnelliser un récepteur distant en chargeant le module-tunnel-sink du côté du récepteur. Sur l'expéditeur, nous devons activer le protocole natif TCP en chargeant module-native-protocole-tcp .
Voir aussi cette question pour la terminologie et la définition de la variable Pulse_SERVER
:
C’est une question plutôt ancienne pour Ubuntu 9.04 mais, à mon avis, la terminologie et les procédures n’ont pas beaucoup changé depuis.
Veuillez également suivre le Wiki PulseAudio sur les connexions résea .
Vous pouvez essayer pulseaudio -k
, qui tue le service pulseaudio (il semble redémarrer automatiquement). Cela m'a rapporté des choses avant.
Une autre chose qui aide parfois est de décocher puis de re-cocher les cases dans Pulseaudio Preferences
(a.k.a. paprefs
). Les cases à cocher sont Make discoverable PulseAudio network sound devices available locally
dans Network Access
et Enable network access to local sound devices
dans Network Server
. Évidemment, cela ne fonctionne probablement que pour celui que vous utilisez.