Wie kann man beheben, dass Pulseaudio aufgrund fehlender Bibliotheken keinen Mixer anfügt?

6

Ich habe versucht, pulseaudio zu installieren, und ich kann anscheinend keine eindeutige Antwort darauf finden, was ich mit ALSA tun soll. Läuft PulseAudio auf ALSA? Soll ich ALSA zuerst loswerden? ALSA ist ein Soundserver, oder? So ist PulseAudio ... Wie Sie sehen, bin ich etwas verwirrt. Jedenfalls scheine ich jetzt beides zu haben - außer, dass beides nicht zu funktionieren scheint: - \

/etc/asound.conf enthält:

pcm.pulse {
    type pulse
}

ctl.pulse {
    type pulse
}

pulseaudio läuft ja. Der Versuch "amixer -Dpulse" führt jedoch zu

ALSA lib control.c:874:(snd_ctl_open_conf) Cannot open shared library
/usr/lib64/alsa-lib/libasound_module_ctl_pulse.so
amixer: Mixer attach pulse error: No such file or directory`

Ich habe nachgesehen und die Datei ist ja nicht da. Ich habe jedoch
/usr/lib32/alsa-lib/libasound_module_ctl_pulse.so

Beim Abspielen eines Songs in VLC wird der Stream in pavucontrol angezeigt, aber kein Audio wird zu meinen Lautsprechern geleitet ... Ich bin in Gruppen pulseund pulse-access(nicht ganz sicher, wofür sie gedacht sind, aber ich glaube, sie können nicht schaden) , und sind dem Leitfaden http://pulseaudio.org/wiki/PerfectSetup zum Brief gefolgt .

Aktualisieren:

Seltsamerweise werden beim Löschen von /etc/asound.conf immer noch Audiostreams in pavucontrol angezeigt ... also ... läuft pulseaudio tatsächlich? Benutze ich es? Wie kann ich sagen?

Mala
quelle

Antworten:

5

Hier ist eine klare Antwort: PulseAudio ist ein Soundserver ; ALSA ist ein Kernel-Sound-Subsystem. Sie machen verschiedene Dinge - ALSA bietet Chipsatz-Treiber für Ihre Soundkarte oder Ihren Onboard-Soundchip. PulseAudio leitet den Ton zwischen Programmen, Soundchips und sogar Systemen weiter.

PulseAudio ist ein Soundserver für POSIX-Systeme. Ein Soundserver ist im Grunde ein Proxy für Ihre Soundanwendungen. Damit können Sie erweiterte Vorgänge für Ihre Sounddaten ausführen, während diese zwischen Ihrer Anwendung und Ihrer Hardware übertragen werden. Dinge wie das Übertragen des Audios auf ein anderes Gerät, das Ändern des Sample-Formats oder der Kanalanzahl und das Mischen mehrerer Sounds zu einem werden mithilfe eines Soundservers auf einfache Weise erreicht.

Um PulseAudio nutzen zu können, benötigen Sie irgendwo einen Soundtreiber. Dies kann ALSA oder OSS sein . Diese bieten den Kernel-Soundtreibern die Möglichkeit, Tonsignale vom Computer auszugeben.

Befolgen Sie die Schritte auf der Seite Erste Schritte , um eine PulseAudio-Befehlszeile aufzurufen. Sie können die CLI verwenden , um zu testen, ob die Dinge richtig laufen.

# get a pulseaudio commandline
$ pulseaudio -nC

Welcome to PulseAudio! Use "help" for usage information.

# run this to see what sinks are configured
>>> list-sinks

Überprüfen Sie auch Ihre /etc/pulse/daemon.confund /etc/pulse/default.paKonfigurationsdateien (diese können installiert werden, /usr/local/etc/pulsewenn Sie PA selbst kompiliert und installiert haben).

Quacksalber
quelle
Ich habe diese Dateien durchgesehen und sie scheinen mir in Ordnung zu sein - aber ich weiß nicht wirklich, wonach ich suchen soll. list-sinks gibt dagegen "0 sink (s) available" zurück. Ist das schlecht? Ich weiß nicht wirklich, was ein Waschbecken ist ...
Mala
Eine Audio-Senke ist ein Ort, an dem PA Audio sendet. Es könnte sich um eine Soundkarte / einen Chipsatz handeln. es könnte ein anderes Programm sein. In diesem Fall haben Sie jedoch keine definiert. Hört sich so an, als müssten Sie überprüfen, ob Sie default.padie Befehle zum Einrichten von PA für die Kommunikation mit Ihrer Hardware eingegeben haben. Verwenden Sie die obigen Links für Details und Beispiele.
Quack Quijote
1

Ich muss zugeben, dass ich sehr viel Glück hatte und keine Probleme mit Pulseaudio hatte und daher nicht wirklich weiß, wie ich sie lösen soll.

Ich kann Ihnen jedoch eine grundlegende Vorstellung davon geben, was pulseaudio ist ...

Grundsätzlich ist pulseaudio eine zusätzliche Ebene im Soundsystem, die sich zwischen den vorhandenen Soundquellen und -ausgängen befindet. Als solches benötigen Sie immer noch ALSA in Ihrem System, aber die Idee ist, dass das Programm, das ein Geräusch machen möchte, ein (virtuelles) Pulseaudio-Gerät hat. Pulseaudio kümmert sich dann um das ALSA-Zeug.

Anstatt also viele Programme für den Umgang mit den ALSA-Treibern zu konfigurieren, konfigurieren Sie viele Programme für den Umgang mit pulseaudio und konfigurieren pulseaudio für den Umgang mit den ALSA-Treibern. Das ist angeblich "eine gute Sache".

Neal
quelle
0

Ich hatte einen ähnlichen Fehler, nachdem ich einige ALSA-bezogene Pakete unter Arch Linux aktualisiert hatte.

amixer set Master 5%+

ist zurückgekommen

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get)
Cannot open shared library /usr/lib/alsa-lib/libasound_module_ctl_pulse.so
amixer: Mixer attach default error: No such device or address

Paketversionen:

  • pulseaudio 4.0-2
  • lib32-libpulse 4.0-2
  • alsa-lib 1.0.27.2-1
  • lib32-alsa-lib 1.0.27.2-1
  • alsa-utils 1.0.27.2-1
  • alsa-plugins 1.0.27-2
  • lib32-alsa-plugins 1.0.27-1
  • pulseaudio-alsa 2-2

Die Lösung bestand darin, das Paket json-c (von 0.10-2 auf 0.11-1) zu aktualisieren.

ktalik
quelle
0

Diese Datei ist Teil von alsa-plugins-pulseaudio. Auf dem System waren alsa-plugins-pulseaudio-1.1.5-1.fc27.i686 installiert, aber x86_64 fehlte. So tat ich:

sudo dnf install alsa-plugins-pulseaudio-1.1.5-1.fc27.x86_64

Hoffe das war hilfreich.

Yaroslav Havrylovych
quelle