Audio
是否有一致的 shell 命令來調整音量?
我一直在嘗試找到一個一致的 shell 命令來調整筆記型電腦的音量。建議我嘗試(用於靜音/取消靜音):
pactl set-sink-mute 0 toggle
它沒有用,我得到了錯誤
Failed to get sink information: No such entity
經過一番查看,我發現在命令中更改
0
為1
有效。我認為這是因為 pactl 在啟動時為我的音效卡分配了一個編號,而當我重新啟動筆記型電腦時該編號發生了變化。這很好,但是當我重新啟動筆記型電腦時,音頻鍵無法再次工作。我在 shell 中嘗試了工作命令並再次得到“沒有這樣的實體”錯誤。如果我改
1
回0
(即原始命令),它會再次起作用。這讓我很困惑,因為我認為我只有一張音效卡。無論如何,如果分配給卡的編號不一致,是否有一致的方法來引用該卡並調整其音量?
一台筆記型電腦可能只有一個音效卡,但可以有多個 Pulseaudio 接收器用於音頻播放。
要查看可用接收器的列表:
pactl list short sinks
水槽索引號在引導期間分配,並且水槽的順序可以在引導之間改變。為了確保靜音命令在正確的接收器上工作,請使用符號名稱而不是索引號。
例如:
我係統上的接收器列為:
$ pactl list short sinks 0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING 1 alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1 module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
RUNNING
要靜音的設備:symbolic name = alsa_output.pci-0000_00_1b.0.analog-stereo
因此在該設備上切換靜音狀態的命令是:
$ pactl set-sink-mute alsa_output.pci-0000_00_1b.0.analog-stereo toggle