web-dev-qa-db-fra.com

pulseaudio-dlna ne fonctionne pas avec les périphériques mpd et ROCKI

Remarque: j'ai réécrit cette question car le rapport signal/bruit approchait de 0.

Je viens d'installer pulseaudio-dnla sur mon système Ubuntu 14.04.2 pour créer des récepteurs Pulse pour mes ROCKI afin que je puisse diffuser de l'audio vers n'importe lequel de mes ROCKI, en choisissant, je l'espère, parmi les ROCKI à diffuser depuis mpd.

Pulseaudio-dlna fonctionne très bien mes ROCKI et VLC - je peux sélectionner n'importe lequel de mes 3 ROCKI comme périphérique audio VLC par nom, et pulsaudio-dlna envoie l'audio à ce ROCKI. Rien de plus simple.

Mais j'ai du mal à le faire fonctionner mpd. J'ai dépassé le problème de l'espace utilisateur/du système pulseaudio/mpd en exécutant mpd dans l'espace utilisateur. Je peux l'obtenir pour envoyer de l'audio à un appareil en utilisant padevchooser (comme Massimo l'a suggéré ci-dessous). Mais lorsque j'essaie de créer une sortie pour chaque ROCKI en utilisant les mêmes noms de puits qui fonctionnent pour VLC:

audio_output {
    type        "Pulse"
    name        "rockigreen"
}

audio_output {
    type        "Pulse"
    name        "rockigarage"
}

... aucun son ne sort de mes ROCKI.

1
Fred Hamilton

La solution est le champ "sink" dans la section audio_output de.mpdconf. J'ai pensé à tort que mpd a utilisé le champ "nom" pour sélectionner le récepteur pulseaudio à utiliser, j'ai donc défini "nom" sur le nom pulseaudio (c'est-à-dire "rockigreen"). En réalité, le champ "nom" de mpd est juste l'étiquette utilisée pour la sortie. Cependant, si vous mettez le "nom" pulseaudio dans le champ "récepteur" .mpdconf, mpd envoie l'audio au récepteur de ce nom.

(Vous pouvez également utiliser l'index du récepteur audio Pulse (0 ou 1 ou 2, etc.), mais l'indice du récepteur peut changer avec les redémarrages et les déconnexions/reconnexions de l'appareil, donc le "nom" audio Pulse est un meilleur choix.)

La section suivante de mon fichier .mpdconfig me permet de sélectionner, via n'importe quel logiciel client mpd, tout ou partie des 3 récepteurs Pulse, quelle que soit l'étiquette que je choisis:

audio_output {
    type        "Pulse"
    name        "My A/V Receiver (via Pulse)"
    sink        "alsa_output.pci-0000_01_00.1.hdmi-surround-extra2"
}

audio_output {
    type        "Pulse"
    name        "The Rocki In My Bedroom"
    sink        "rockigreen"
}

audio_output {
    type        "Pulse"
    name        "The Rocki In My Garage"
    sink        "rockigarage"
}

J'utilise Pulse, pulseaudio-dlna et mpd en tant qu'utilisateur actuel (moi). Comme Massimo le note dans son commentaire, cela peut ne pas fonctionner ou nécessiter des modifications fantastiques des autorisations des utilisateurs/groupes si vous ne faites pas la même chose.

1
Fred Hamilton

J'ai testé à nouveau ce qui suit et cela fonctionne sur un autre ordinateur sans aucun problème. Peut-être n'avez-vous pas redémarré mpd après avoir inséré le module TCP dans pulseaudio. Ou peut-être n'avez-vous pas activé la 2e sortie.

Changez votre 2ème sortie dans votre mpd.conf en:

audio_output {
    type            "Pulse"
    name            "MPD Pulse Output"
    server          "localhost"
}

Insérez le module TCP dans pulseaudio:

pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1

Redémarrez mpd:

Sudo service mpd restart

Installez mpc pour vérifier les sorties:

Sudo apt-get install mpc
mpc outputs

Assurez-vous que la sortie correcte est activée:

mpc enable <number-of-your-output>

Jouez un morceau, pulseaudio devrait maintenant être au courant du flux mpd, vous pouvez donc le basculer via pavucontrol ou les paramètres de son ubuntu pour jouer sur votre appareil.

0
Massimo