Quando il demone pulseaudio non è in esecuzione, posso usare aplay per inviare laudio a gli altoparlanti con
aplay -Dhw:1,0 sample.wav
alsamixer sembra fare quello che mi aspetto con il controllo del volume sulla scheda quando gioco come sopra; in particolare i canali master e front influenzano il volume del campione riprodotto con sopra.
Quando eseguo aplay -L elenca un certo numero di PCM. Quando seleziono uno di questi PCM per aplay, non viene emesso alcun suono. Se pulseaudio è in esecuzione, aplay fallisce silenziosamente. Se pulseaudio non è in esecuzione, non riesce con un errore 2, impossibile aprire il file.
La maggior parte delle app audio non sembra consentire la specifica di basso livello dellhardware audio, quindi non riesco a ottenere alcun suono a tutti tranne che attraverso aplay. Credo che il problema sia che i nomi PCM di livello superiore non vengono mappati correttamente sui dispositivi hardware.
Noterò che un kernel più vecchio senza pulseaudio non aveva problemi di suono su questa macchina.
Questi non producono alcun suono:
aplay -Dfront sample.wav aplay -Dpulse sample.wav
output aplay -L:
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
Commenti
Risposta
La risposta per me è stata che Pulseaudio o stava interpretando male udev o udev gli dava la configurazione sbagliata – Non ne so abbastanza per decidere la domanda. Se cambio laudio di Pulse default.pa per impostare esplicitamente la configurazione hardware invece di ottenerla da udev, funziona.
In default.pa, ho dovuto decommentare queste due righe:
load-module module-alsa-sink device=hw:1,0 load-module module-alsa-source device=hw:1,0
e commenta queste righe:
### 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
Answer
Devi utilizzare il nome completo del dispositivo per selezionare la scheda corretta:
aplay -D front:CARD=PCH,DEV=0 sample.wav
Per cambiare la carta predefinita, aggiungi qualcosa di simile al /etc/asound.conf
o al tuo ~/.asoundrc
:
defaults.ctl.card "PCH" defaults.pcm.card "PCH"
Per fare in modo che PulseAudio utilizzi la scheda corretta, devi configurarla (prova pavucontrol
).
hw
, Pulseaudio non è in esecuzione (o non è possibile ' afferrare questo dispositivo per un uso esplosivo), quindi riproduco supulse
può ' t funzionare.pavucontrol
e assicurati che lo stream vada alluscita corretta (non HDMI). Inoltre, utilizzapaplay
invece diaplay
per rimuovere la complessità (e le fonti di errore). Senza pulsea udio, hai testatoaplay -D front:CARD=PCH,DEV=0
come suggerito? Non ho mai capito completamente la corrispondenza del nome del dispositivo ALSA, ma forsefront
da solo può corrispondere a qualcosaltro.