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

  • Si vous pouvez lire le son directement sur le 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.
  • @dirkt – Vous avez raison – Jai ajouté plus de détails à la question
  • Pour pulseaudio, démarrez pavucontrol et assurez-vous que votre flux va à la bonne sortie (pas HDMI). Utilisez également paplay au lieu de aplay 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 que front peut correspondre à quelque chose dautre.

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

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *