Wenn der pulseaudio-Daemon nicht ausgeführt wird, kann ich aplay verwenden, um Sound an zu senden Die Lautsprecher mit
aplay -Dhw:1,0 sample.wav
alsamixer scheinen das zu tun, was ich von der Lautstärkeregelung auf der Karte erwarte, wenn ich wie oben spiele. Insbesondere Master- und Front-Kanäle wirken sich auf die Lautstärke des oben gespielten Samples aus.
Wenn ich -L spiele, werden eine Reihe von PCMs aufgelistet. Wenn ich eines dieser PCMs für die Wiedergabe auswähle, ist überhaupt kein Ton zu hören. Wenn pulseaudio läuft, schlägt die Wiedergabe lautlos fehl. Wenn pulseaudio nicht ausgeführt wird, schlägt es mit dem Fehler 2 fehl und kann die Datei nicht öffnen.
Die meisten Sound-Apps scheinen keine Low-Level-Spezifikation der Sound-Hardware zuzulassen, sodass ich keinen Sound erhalten kann überhaupt außer durch aplay. Ich glaube, das Problem ist, dass die übergeordneten PCM-Namen nicht korrekt auf Hardwaregeräte abgebildet werden.
Ich werde feststellen, dass ein älterer Kernel ohne Pulseaudio auf diesem Computer keine Soundprobleme hatte.
Diese erzeugen keinen Ton:
aplay -Dfront sample.wav aplay -Dpulse sample.wav
aplay -L-Ausgabe:
null Discard all samples (playback) or generate zero samples (capture) pulse PulseAudio Sound Server hdmi:CARD=HDMI,DEV=0 HDA Intel HDMI, HDMI 0 HDMI Audio Output hdmi:CARD=HDMI,DEV=1 HDA Intel HDMI, HDMI 1 HDMI Audio Output hdmi:CARD=HDMI,DEV=2 HDA Intel HDMI, HDMI 2 HDMI Audio Output default:CARD=PCH HDA Intel PCH, ALC892 Analog Default Audio Device sysdefault:CARD=PCH HDA Intel PCH, ALC892 Analog Default Audio Device front:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog Front speakers surround21:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 2.1 Surround output to Front and Subwoofer speakers surround40:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 4.0 Surround output to Front and Rear speakers surround41:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 4.1 Surround output to Front, Rear and Subwoofer speakers surround50:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 5.0 Surround output to Front, Center and Rear speakers surround51:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 5.1 Surround output to Front, Center, Rear and Subwoofer speakers surround71:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Analog 7.1 Surround output to Front, Center, Side, Rear and Woofer speakers iec958:CARD=PCH,DEV=0 HDA Intel PCH, ALC892 Digital IEC958 (S/PDIF) Digital Audio Output
aplay -l output
card 0: HDMI [HDA Intel HDMI], device 3: HDMI 0 [HDMI 0] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA Intel HDMI], device 7: HDMI 1 [HDMI 1] Subdevices: 1/1 Subdevice #0: subdevice #0 card 0: HDMI [HDA Intel HDMI], device 8: HDMI 2 [HDMI 2] Subdevices: 1/1 Subdevice #0: subdevice #0 card 1: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog] Subdevices: 0/1 Subdevice #0: subdevice #0 card 1: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital] Subdevices: 1/1 Subdevice #0: subdevice #0
Kommentare
- Wenn Sie Sound direkt auf dem
hw
, Pulseaudio wird nicht ausgeführt (oder ' konnte dieses Gerät nicht zur expliziten Verwendung verwenden), sodasspulse
kann ' nicht funktionieren. - @dirkt – Sie haben Recht – Ich habe der Frage
- For weitere Details hinzugefügt pulseaudio, starten Sie
pavucontrol
und stellen Sie sicher, dass Ihr Stream zum richtigen Ausgang (nicht HDMI) geht. Verwenden Sie außerdempaplay
anstelle vonaplay
, um Komplexität (und Fehlerquellen) zu entfernen. Ohne Pulsea udio, haben Sieaplay -D front:CARD=PCH,DEV=0
wie vorgeschlagen getestet? Ich habe nie verstanden, dass der ALSA-Gerätename vollständig übereinstimmt, aber möglicherweise kannfront
allein mit etwas anderem übereinstimmen.
Antwort
Die Antwort für mich war, dass Pulseaudio entweder udev falsch interpretierte oder udev ihm die falsche Konfiguration übergab – ich weiß nicht genug darüber, um die Frage zu entscheiden. Wenn ich das Pulse-Audio ändere default.pa, um die Hardwarekonfiguration explizit festzulegen, anstatt sie von udev abzurufen, funktioniert.
In default.pa musste ich diese beiden Zeilen auskommentieren:
load-module module-alsa-sink device=hw:1,0 load-module module-alsa-source device=hw:1,0
und kommentieren Sie diese Zeilen:
### Automatically load driver modules depending on the hardware available #.ifexists module-udev-detect.so #load-module module-udev-detect #.else ### Use the static hardware detection module (for systems that lack udev support) #load-module module-detect #.endif
Antwort
Sie müssen den vollständigen Gerätenamen verwenden, um die richtige Karte auszuwählen:
aplay -D front:CARD=PCH,DEV=0 sample.wav
Um die Standardkarte zu ändern, fügen Sie dem globalen /etc/asound.conf
oder zu Ihrem ~/.asoundrc
:
defaults.ctl.card "PCH" defaults.pcm.card "PCH"
Damit PulseAudio die richtige Karte verwendet, müssen Sie sie konfigurieren (versuchen Sie es mit pavucontrol
).