Quando o daemon pulseaudio énãofuncionando, posso usar o aplay para enviar som aos alto-falantes com
aplay -Dhw:1,0 sample.wav
alsamixer parece fazer o que eu espero ao controlar o volume do cartão quando jogo como acima; em particular, os canais master e front afetam o volume da amostra tocada acima.
Quando eu faço aplay -L ele lista vários PCMs. Quando seleciono um desses PCMs para reprodução, não há som algum. Se o pulseaudio estiver em execução, o aplay falhará silenciosamente. Se o pulseaudio não estiver em execução, ele falhará com um erro 2, incapaz de abrir o arquivo.
A maioria dos aplicativos de som parece não permitir especificações de baixo nível do hardware de som, então não consigo obter nenhum som, exceto através do aplay. Acredito que o problema é que os nomes PCM de nível superior não estão sendo mapeados corretamente para dispositivos de hardware.
Observo que um kernel mais antigo sem pulseaudio não teve problemas de som nesta máquina.
Estes não produzem som:
aplay -Dfront sample.wav
aplay -Dpulse sample.wav
saída 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 saída
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
Responder1
A resposta para mim foi que o Pulseaudio estava interpretando mal o udev ou o udev estava entregando a configuração errada - não sei o suficiente para decidir a questão. Se eu alterar o Pulse audio default.pa para definir explicitamente a configuração de hardware em vez de obtê-la do udev, ele funcionará.
Em default.pa, tive que descomentar estas duas linhas:
load-module module-alsa-sink device=hw:1,0
load-module module-alsa-source device=hw:1,0
e comente estas linhas:
### 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
Responder2
Você deve usar o nome completo do dispositivo para selecionar o cartão correto:
aplay -D front:CARD=PCH,DEV=0 sample.wav
Para alterar o cartão padrão, adicione algo assim ao global /etc/asound.conf
ou ao seu ~/.asoundrc
:
defaults.ctl.card "PCH"
defaults.pcm.card "PCH"
Para fazer com que o PulseAudio use a placa correta, é necessário configurá-la (tente pavucontrol
).