Lorsque le démon pulseaudio nest pas en cours dexécution, je peux utiliser aplay pour envoyer du son à les enceintes avec
aplay -Dhw:1,0 sample.wav
alsamixer semblent faire ce que jattends en contrôlant le volume sur la carte quand je joue comme ci-dessus; en particulier, les canaux maître et avant affectent le volume de léchantillon joué avec ci-dessus.
Quand je fais aplay -L, il liste un certain nombre de PCM. Lorsque je sélectionne lun de ces PCM pour jouer, il ny a aucun son. Si pulseaudio est en cours dexécution, la lecture échoue silencieusement. Si pulseaudio nest pas en cours dexécution, il échoue avec une erreur 2, impossible douvrir le fichier.
La plupart des applications audio ne semblent pas autoriser la spécification de bas niveau du matériel audio, donc je ne peux pas obtenir de son du tout sauf par aplay. Je crois que le problème est que les noms PCM de niveau supérieur ne sont pas correctement mappés sur les périphériques matériels.
Je noterai qu’un noyau plus ancien sans pulseaudio n’avait aucun problème de son sur cette machine.
Ceux-ci ne produisent aucun son:
aplay -Dfront sample.wav aplay -Dpulse sample.wav
aplay -L sortie:
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
Commentaires
Réponse
La réponse pour moi était que Pulseaudio interprétait mal udev ou udev lui donnait la mauvaise configuration – je nen sais pas assez sur lun ou lautre pour décider de la question. Si je change laudio Pulse default.pa pour définir explicitement la configuration matérielle au lieu de lobtenir depuis udev, cela fonctionne.
Dans default.pa, jai dû décommenter ces deux lignes:
load-module module-alsa-sink device=hw:1,0 load-module module-alsa-source device=hw:1,0
et commentez ces lignes:
### 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
Réponse
Vous devez utiliser le nom complet de lappareil pour sélectionner la bonne carte:
aplay -D front:CARD=PCH,DEV=0 sample.wav
Pour changer la carte par défaut, ajoutez quelque chose comme ceci au /etc/asound.conf
ou à votre ~/.asoundrc
:
defaults.ctl.card "PCH" defaults.pcm.card "PCH"
Pour que PulseAudio utilise la bonne carte, vous devez la configurer (essayez pavucontrol
).
hw
, Pulseaudio nest pas en cours dexécution (ou na pas pu ' saisir cet appareil pour une utilisation explosive), donc jouer àpulse
peut ' t fonctionner.pavucontrol
et assurez-vous que votre flux va à la bonne sortie (pas HDMI). Utilisez égalementpaplay
au lieu deaplay
pour supprimer la complexité (et les sources derreurs). Sans pulsea udio, avez-vous testéaplay -D front:CARD=PCH,DEV=0
comme suggéré? Je nai jamais complètement compris le nom de lappareil ALSA correspondant, mais peut-être quefront
peut correspondre à quelque chose dautre.