När pulseaudio-demon är inte igång, kan jag använda aplay för att skicka ljud till högtalarna med
aplay -Dhw:1,0 sample.wav
alsamixer verkar göra vad jag förväntar mig med att kontrollera volymen på kortet när jag spelar som ovan; i synnerhet master- och frontkanaler påverkar volymen på samplet som spelas med ovan.
När jag spelar upp -L listas det ett antal PCM. När jag väljer en av dessa PCM: er för ljud, hörs inget ljud alls. Om pulseaudio körs misslyckas spelningen tyst. Om pulseaudio inte körs misslyckas det med ett fel 2, det går inte att öppna filen.
De flesta ljudappar verkar inte tillåta lågnivåspecifikation av ljudhårdvaran, så jag kan inte få något ljud alls utom genom aplay. Jag tror att problemet är att PCM-namnen på högre nivå inte kartläggs korrekt till hårdvaruenheter.
Jag kommer att notera att en äldre kärna utan pulseaudio inte hade några ljudproblem på den här maskinen.
Dessa producerar inget ljud:
aplay -Dfront sample.wav aplay -Dpulse sample.wav
aplay -L output:
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-utgång
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
Kommentarer
Svar
Svaret för mig var att Pulseaudio antingen misstolkade udev eller att udev lämnade fel konfiguration – jag vet inte tillräckligt om någon av dem för att avgöra frågan. Om jag ändrar pulsljudet default.pa för att uttryckligen ställa in hårdvarukonfigurationen istället för att hämta den från udev, den fungerar.
I default.pa var jag tvungen att avmarkera dessa två rader:
load-module module-alsa-sink device=hw:1,0 load-module module-alsa-source device=hw:1,0
och kommentera dessa rader:
### 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
Svar
Du måste använda hela enhetsnamnet för att välja rätt kort:
aplay -D front:CARD=PCH,DEV=0 sample.wav
Om du vill ändra standardkortet lägger du till något liknande detta till det globala /etc/asound.conf
eller till din ~/.asoundrc
:
defaults.ctl.card "PCH" defaults.pcm.card "PCH"
För att få PulseAudio att använda rätt kort måste du konfigurera det (prova
pavucontrol
).
hw
, Pulseaudio körs inte (eller kunde ' inte ta tag i den här enheten för explosiv användning), så spelar du tillpulse
kan ' t fungerar.pavucontrol
och se till att din ström går till rätt utgång (inte HDMI). Använd ocksåpaplay
istället föraplay
för att ta bort komplexitet (och källor till fel). Utan pulsea udio, har du testataplay -D front:CARD=PCH,DEV=0
som föreslagits? Jag förstod aldrig att ALSA-enhetsnamnet matchade helt, men möjligenfront
ensam kan matcha något annat.