Ich möchte meinen Raspberry Pi als PulseAudio-Senke verwenden, die Audio über das Netzwerk wiedergeben kann.
Für den Anfang möchte ich Pulseaudio lokal zum Laufen bringen und bin auf verschiedene Fehler gestoßen. Ich verwende das empfohlene Debian-Image.
Was ist die beste Vorgehensweise, um PulseAudio zum Laufen zu bringen?
Das habe ich bisher versucht:
Verfahren
Mein bisheriges Vorgehen sah ungefähr so aus:
Installieren Sie Pulseaudio und VLC:
sudo apt-get install pulseaudio
Konfigurieren Sie GStreamer für die Verwendung der pulseaudio-Senke:
gconftool-2 -t string --set /system/gstreamer/0.10/default/audiosink pulsesink
Laden Sie das Kernelmodul für das Audiogerät
sudo modprobe snd_bcm2835
Führen Sie VLC mit einem MP3 aus
vlc
Probleme
VLC knackt wiederholt und druckt diesen Fehler:
[0x7503d0] alsa audio output error: cannot write: Broken pipe
Antworten:
Ich habe es auf meinem Raspberry Pi mit der ALSA-Spüle arbeiten, mit Verfahren wie folgt:
So installieren Sie die erforderlichen Dateien:
So aktivieren Sie ALSA:
So richten Sie das Netzwerk ein:
und kommentiere die Zeilen aus:
Verwenden Sie zum Starten des pulseaudio-Servers:
Sie sollten in der Lage sein zu testen, ob es funktioniert, indem Sie eine WAV-Datei mit paplay (
sudo apt-get install pulseaudio-utils
) abspielen und auch über das Netzwerk, indem Sie die Senke in der Sound-Systemsteuerung Ihres Systems auswählen.Möglicherweise können Sie auch im systemweiten Modus Folgendes einrichten :
quelle
pulseaudio-module-zeroconf
fehlt im apt-get install Teil. Sollte vielleicht auch das erwähnen, um eventuellepulseaudio --log-level=debug
Probleme zu beheben. Auf der Tonquelle (nicht dem Himbeer-Pi) sollten Sie starten,paprefs
um eine einfache Übersicht über Ihre pulseaudio-Konfiguration zu erhalten (wenn Sie X11 haben). Und vergessen Sie nicht,pulseaudio
im Zweifelsfall neu zu starten .Wenn pulseaudio beim Booten gestartet werden soll, aber als Dienst auf Benutzerebene, können Sie eine System-Unit-Datei erstellen. Dies kann hilfreich sein, da pulseaudio es nicht vorzieht, im Systemmodus zu arbeiten. https://www.freedesktop.org/wiki/Software/PulseAudio/Documentation/User/SystemWide/
Hier ist der Dienst, den ich in /etc/systemd/system/pulseaudio.service geschrieben habe
Before = weist es an zu warten, bis sound.target initialisiert ist. BusName = verbindet es mit D-Bus WantedBy = session.target ist eine hilfreiche Standardeinstellung, aber ich weiß nicht wirklich, was es tut.
quelle
~/.config/systemd/user/pulseaudio.service
einfügen und systemd mit dem--user
Flag verwenden, um Root-Rechte zu vermeiden.Es fiel mir schwer, mit dem analogen Ausgang pulseaudio auf Wheezy raspbian (28.10.2012) zum Laufen zu bringen. Das Folgende habe ich getan, um es im Pro-Sitzung-Modus (nicht im Systemmodus) zum Laufen zu bringen. Der Systemmodus funktioniert möglicherweise auch, ich habe es nicht versucht. Das Einrichten des Servers erfordert etwas mehr Arbeit. Ich habe diese Informationen an verschiedenen Stellen gefunden. Hoffentlich hilft es jemandem, sie hier zu sammeln.
Installiere pulseaudio und stelle sicher, dass der Benutzer (zB eric) Teil der Audio-Gruppe ist:
Ändern Sie die Datei /etc/asound.conf wie folgt. Dadurch wird pulseaudio so eingerichtet, dass es standardmäßig als ein alsa-Gerät verwendet wird, sodass Anwendungen es ohne zusätzliche Konfiguration verwenden. Die ersten beiden Erklärungen (einschließlich der kommentierten) befanden sich in der Originaldatei.
Fügen Sie die folgenden Zeilen zu /etc/pulse/daemon.conf hinzu:
trivial
ist die Methode mit der niedrigsten Qualität, verwendet jedoch ca. 6% CPU.src-sinc-fastest
funktionierte auch für mich, aber etwa 25% CPU verwenden. Andere können auch funktionieren. Dieses spätere Stück verstehe ich nicht ganz, aber es schien die magische Zutat zu sein. Hier können Sie mehr darüber lesen .Zum Schluss kommentieren Sie diese Zeile in /etc/pulse/default.pa wie folgt aus, um die Audio-Pops zwischen den Songs zum Schweigen zu bringen:
Es gibt immer noch einige Aussetzer, wenn zwei Quellen gleichzeitig wiedergegeben werden. Wenn ich ein Mittel dafür finde, werde ich diese Antwort ergänzen.
quelle
trivial
mir etwa 16% der CPU .