Wenn ich versuche, mpd über pulseaudio abzuspielen, meldet mpd.log:
impulsausgang: "Pink ROCKI" konnte nicht aktiviert werden [puls]: pa_context_connect () ist fehlgeschlagen: Verbindung abgelehnt
- Pulse scheint einwandfrei zu funktionieren, da pacmd list-sinks alle meine Pulssenken anzeigt, das Audio des MB-Browsers über die Standardsenke einwandfrei abgespielt wird und VLC über jeden von ihnen Sound wiedergeben kann.
- mpd funktioniert gut, wenn ich die Ausgabe über alsa anstelle von Puls sende
- Sowohl mpd als auch pulseaudio laufen unter meinem Account (fred).
- Fred, MPD und Pulseaudio sind alle Mitglieder der Puls-, Pulszugriffs- und Audiogruppen.
- Ich habe dies sogar mit verschiedenen Pulseaudio-Builds versucht: dem 4.0 mit Ubuntu 14.04, dem experimentellen RAOP2 mit Puls 4.0 und dem experimentellen RAOP2 mit Puls 5.0. mpd funktioniert mit keinem von ihnen.
Meine mpd.conf-Datei ist Vanille; Der Pulsabschnitt ist der generische:
audio_output {
type "pulse"
name "General Pulse"
}
Obwohl, wie Laugeo weiter unten vorschlägt, ich auch versucht habe, eine einzelne Spüle anzugeben, beide mit Namen:
audio_output {
type "pulse"
name "ROCKI"
sink "raop_output.ASAP1826T.local"
}
und nach Index #:
audio_output {
type "pulse"
name "ROCKI"
sink "4"
}
Was soll ich als nächstes versuchen? Könnte es helfen, pulseaudio so zu konfigurieren, dass es als Systemdienst ausgeführt wird?
Dies ist unter Ubuntu 14.04, pulseaudio 4.0 (und 5.0), Music Player Daemon 0.18.7
Update: Ich habe diesen Blog gefunden, in dem der Blogger Louiz das gleiche (oder sehr ähnliche) Problem gelöst zu haben scheint:
MPD versucht anscheinend, als mein eigener Benutzer einen neuen Pulseaudio-Prozess zu erzeugen, und er schlägt fehl, weil er bereits ausgeführt wird. Ich konnte nicht verstehen, warum es nicht einfach die vorhandene pulseaudio-Instanz verwenden konnte, ohne zu versuchen, eine neue zu erzeugen.
Ich habe dank dieses Beitrags verstanden .
MPD konnte die bereits ausgeführte pulseaudio-Instanz nicht finden, da die Umgebungsvariable XDG_RUNTIME_DIR nicht festgelegt wurde und pulseaudio dort seine Dateien speichert (Socket, Prozess-PID usw.).
Ich habe seine Lösung ausprobiert:
Erstellen einer neuen Datei /etc/systemd/system/mpd.service.d/fixenv.conf mit:
[Service] Environment = XDG_RUNTIME_DIR = / run / user / 1000
(Ersetzen Sie 1000 durch die UNIX-ID Ihres Benutzers.)
Ich habe neu gestartet und XDG_RUNTIME_DIR wurde korrekt eingestellt, und Puls hat seine PID-Datei im Verzeichnis / run / user / 1000 / puls / abgelegt (meine Benutzer-ID ist 1000), aber ich erhalte immer noch den gleichen Fehler von mpd:
impulsausgang: "ROCKI" konnte nicht aktiviert werden [puls]: pa_context_connect () ist fehlgeschlagen: Verbindung abgelehnt
Ich lerne jeden Tag mehr über Linux, aber Sockets, Prozess-Pids, systemd (soll Ubuntu nicht upstart verwenden? Systemd scheint zu laufen und Dinge zu starten) usw. liegen momentan alle über meiner Gehaltsstufe - ich ' Ich bin im Wald verloren.