pulseaudio 데몬이아니요실행할 때 aplay를 사용하여 스피커로 소리를 보낼 수 있습니다
aplay -Dhw:1,0 sample.wav
위와 같이 재생할 때 alsamixer는 예상대로 카드의 볼륨을 제어하는 것 같습니다. 특히 마스터 및 전면 채널은 위에서 재생되는 샘플의 볼륨에 영향을 미칩니다.
aplay -L을 실행하면 많은 PCM이 나열됩니다. 재생을 위해 PCM 중 하나를 선택하면 소리가 전혀 들리지 않습니다. pulseaudio가 실행 중이면 aplay는 자동으로 실패합니다. pulseaudio가 실행되고 있지 않으면 오류 2로 인해 실패하고 파일을 열 수 없습니다.
대부분의 사운드 응용 프로그램은 사운드 하드웨어의 낮은 수준 사양을 허용하지 않는 것 같아서 aplay를 통해서 외에는 전혀 사운드를 얻을 수 없습니다. 문제는 상위 PCM 이름이 하드웨어 장치에 올바르게 매핑되지 않는다는 것입니다.
pulseaudio가 없는 이전 커널에는 이 시스템에서 사운드 문제가 없다는 점에 유의하겠습니다.
소리가 나지 않는 경우:
aplay -Dfront sample.wav
aplay -Dpulse sample.wav
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 출력
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
답변1
나에게 대답은 Pulseaudio가 udev를 오해했거나 udev가 잘못된 구성을 제공했다는 것입니다. 나는 이 질문을 결정할 만큼 충분히 알지 못합니다. udev에서 가져오는 대신 하드웨어 구성을 명시적으로 설정하기 위해 Pulse audio default.pa를 변경하면 작동합니다.
default.pa에서는 다음 두 줄의 주석 처리를 제거해야 했습니다.
load-module module-alsa-sink device=hw:1,0
load-module module-alsa-source device=hw:1,0
그리고 다음 줄에 주석을 달아주세요:
### 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
답변2
올바른 카드를 선택하려면 전체 장치 이름을 사용해야 합니다.
aplay -D front:CARD=PCH,DEV=0 sample.wav
기본 카드를 변경하려면 다음과 같은 내용을 global /etc/asound.conf
또는 다음 항목에 추가하세요 ~/.asoundrc
.
defaults.ctl.card "PCH"
defaults.pcm.card "PCH"
PulseAudio가 올바른 카드를 사용하도록 하려면 카드를 구성해야 합니다(시도해 보세요 pavucontrol
).