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

  • Se riesci a riprodurre il suono direttamente nel hw, Pulseaudio non è in esecuzione (o non è possibile ' afferrare questo dispositivo per un uso esplosivo), quindi riproduco su pulse può ' t funzionare.
  • @dirkt – Hai ragione– Ho aggiunto maggiori dettagli alla domanda
  • Per pulseaudio, avvia pavucontrol e assicurati che lo stream vada alluscita corretta (non HDMI). Inoltre, utilizza paplay invece di aplay per rimuovere la complessità (e le fonti di errore). Senza pulsea udio, hai testato aplay -D front:CARD=PCH,DEV=0 come suggerito? Non ho mai capito completamente la corrispondenza del nome del dispositivo ALSA, ma forse front da solo può corrispondere a qualcosaltro.

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).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *