asoundrc 및 hdmi 출력 이해

asoundrc 및 hdmi 출력 이해

저는 lenovo x220t에서 nixos를 실행하고 있습니다. 시작되면 아날로그 스피커를 찾아 alsamixer(또는 pavucontrol)에만 표시합니다. 그러나 HDMI 모니터/TV에 연결하면 스피커를 통해 사운드를 재생할 수 있습니다 speaker-test -c 2 -D hw:0,3.

인터넷을 조금 뒤져본 결과 이 ​​스크립트가 나왔습니다.

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

pcm.hdmi-playback{
type hw
card 0
device 3
}

pcm.hdmivol{
type softvol
slave.pcm "hdmi-playback"
control {
    name "Master"
    card 0
 }
}

호출되면 ~/.asoundrc내 HDMI TV/모니터를 통해 소리가 실행됩니다. 하지만 팩을 내 노트북으로 전환하려면 스크립트 이름을 바꾸고 로그아웃했다가 다시 로그인해야 합니다.

분명히 작동하지만 이해가 되지 않습니다. 1. 모든 장치를 직접 보고 사용할 수 있는데(예: 스피커 테스트) alsamixer 및 pulseaudio가 장치를 "보지" 못하는 이유는 무엇입니까? 2. 누군가 asoundrc의 구조에 대한 통찰력을 제공할 수 있습니까? 나는 매뉴얼에 많은 진전을 이루지 못했고 왜 이 스크립트에 서로를 참조하는 세 가지 버전의 장치가 있는지 명확하지 않습니다. 그리고 로그아웃하고 로그인할 필요 없이 hw:0,0 및 hw:0,3에 대한 별칭을 지정하여 전환할 수 있는 방법이 있을 것으로 생각됩니다.

미리 감사드립니다.

관련 정보