HDMI 사운드가 작동하지 않는 이유를 확인하는 방법

HDMI 사운드가 작동하지 않는 이유를 확인하는 방법

/home을 제외하고 젠투를 시스템에 깨끗하게 설치했지만 사운드에 영향을 미칠 수 있는 모든 숨겨진 폴더(.mplayer .pulse* .config .esd_auth 등)를 삭제했으며 새로운 사용자의 adduser mistertest -m -G audio,video,users경우 결과는 동일합니다. mplayer에서 파일을 재생할 때 소리가 납니다.

Z68 칩셋이고 CPU에 Intel IGP H2000을 사용하고 있으므로 마더보드의 spdif 커넥터에 문제가 있어서는 안 됩니다. 커널에 올바른 모듈을 모두 설치한 것 같습니다. 내 사운드가 작동하는지 확인할 수 있는 추가 하드웨어가 없지만(헤드폰이나 외부 스피커 없음) 문제는 구성이 잘못되었거나 내부 spdif(있는 경우)에 있는 것 같습니다.

dronemother ~ # lsmod | grep snd
snd_hda_codec_hdmi     22705  1
snd_hda_codec_realtek   190506  1
snd_hda_intel          21727  3
snd_hda_codec          63422  3 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel
snd_hwdep               5726  1 snd_hda_codec
snd_pcm                69969  3 snd_hda_codec_hdmi,snd_hda_intel,snd_hda_codec
snd_timer              17697  1 snd_pcm
snd                    53814  13 snd_hda_codec_hdmi,snd_hda_codec_realtek,snd_hda_intel,snd_hda_codec,snd_hwdep,snd_pcm,snd_    timer
soundcore               5009  1 snd
snd_page_alloc          6641  2 snd_hda_intel,snd_pcm

dronemother ~ # lspci -v
# cut other stuff away here    
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 05)
        Subsystem: ASRock Incorporation Device 1892
        Flags: bus master, fast devsel, latency 0, IRQ 46
        Memory at fe600000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [70] Express Root Complex Integrated Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [130] Root Complex Link
        Kernel driver in use: snd_hda_intel
        Kernel modules: snd-hda-intel

pulseaudio, alsa-plugins, mplayer, 믹서 및 pavucontrol을 설치했습니다. mplayer에서 파일을 재생할 때 오류가 발생하지 않고 소리가 들리지 않습니다.

그렇다면 내 문제가 무엇인지 어떻게 확인할 수 있습니까?

편집: 방금 Ubuntu Live USB 스틱으로 컴퓨터를 부팅했는데 사운드도 작동하지 않습니다. (시간이 오래 걸리고 매일 서버를 다시 시작할 수 없습니다. 일부 사람들은 해당 서비스에 의존합니다.)

답변1

gentoo IRC에서 이 질문을 여러 번 한 끝에 마침내법정, 나는 올바른 방향으로 밀려났고 문제를 해결할 수 있었습니다.

~ $ aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: PCH [HDA Intel PCH], device 0: ALC892 Analog [ALC892 Analog]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 1: ALC892 Digital [ALC892 Digital]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 3: HDMI 0 [HDMI 0]
  Subdevices: 1/1
  Subdevice #0: subdevice #0
card 0: PCH [HDA Intel PCH], device 7: HDMI 1 [HDMI 1]
  Subdevices: 1/1
  Subdevice #0: subdevice #0

2번째 줄에서 언급했듯이 이것들은 모두 사용 가능한 재생 장치입니다. 그에 따라 /etc/asound.conf를 구성했습니다. (이 작업은 각 사용자의 ~/.asoundrc에서도 수행할 수 있습니다.)

~ $ cat /etc/asound.conf
pcm.analog {
        type hw
        card 0
        device 0 }

pcm.digital {
        type hw
        card 0
        device 1 }

pcm.hdmi0 {
        type hw
        card 0
        device 3 }

pcm.hdmi1 {
        type hw
        card 0
        device 7 }

각 항목에서 점 뒤의 부분은 자유롭게 선택할 수 있는 로컬 별칭입니다. 다른 애플리케이션에서는 이를 사용하여 장치를 식별할 수 있습니다. aplay -D plug:hdmi1 ~/soundfile.wav사운드를 재생하려면 finally를 사용하십시오 (실제로는 wav 파일을 재생해야 합니다. 왜냐하면 aplay는 mp3 또는 유사한 파일을 디코딩할 수 없기 때문입니다).

그래서 나는 /etc/asound.conf에 다음 줄을 추가했습니다.

pcm.!default {
        type  plug
        slave.pcm "hdmi1"
}

이제 모든 것이 매력처럼 작동합니다.

관련 정보