了解 asoundrc 和 hdmi 輸出

了解 asoundrc 和 hdmi 輸出

我在 lenovo x220t 上運行 nixos。當它啟動時,它會找到模擬揚聲器並僅在 alsamixer(或 pavucontrol)中顯示它們。但是,連接到 HDMI 顯示器/電視時,我可以透過揚聲器播放聲音,例如透過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 電視/顯示器播放聲音。但要將套件切換到我的筆記型電腦,我必須重命名腳本並登出並重新登入。

顯然一切正常,但我不明白: 1. 為什麼我可以直接看到並使用所有設備(例如通過揚聲器測試),但 alsamixer 和pulseaudio 卻看不到它們? 2. 有人可以提供一些 asoundrc 結構的見解嗎?我在手冊方面沒有取得太大進展,而且我不清楚為什麼這個腳本具有相互引用的三個版本的設備。我懷疑有一種方法可以為 hw:0,0 和 hw:0,3 指定別名,這樣我就可以切換它們,而無需登出並登入。

提前致謝。

相關內容