Command-Line
降低或增加所有輸出的脈衝音頻音量
我經常更改筆記型電腦的音頻設置(有時使用內置插孔埠,有時根本不使用,有時使用 USB 耳機,有時使用筆記型電腦底座中的插孔埠)。我想使用鍵盤快捷鍵來一次降低或增加所有輸出的音量,因此無論哪個音頻輸出目前處於活動狀態,它都可以工作。實現這一目標的最簡單方法是什麼?我還看到在 pavucontrol 中,我可以超過 100%,這有時很實用,所以如果命令也能夠做到這一點,那就太好了。
我正在執行 Debian 測試、核心 4.9.0-3-amd64 和 pulseaudio 10.0。
您需要一個腳本來執行此操作。有這樣的腳本可以控制預設接收器,但我還沒有看到控制所有接收器的腳本。
您可以使用 獲取所有接收器的列表
pacmd list-sinks
,並使用 設置音量pacmd set-sink-volume
,因此您需要執行類似的操作VOLUME='+5%' for SINK in `pacmd list-sinks | grep 'index:' | cut -b12-` do pactl set-sink-volume $SINK $VOLUME done
where
$VOLUME
可以是絕對 (150%
) 或相對 (+5%
,-5%
),也可能是其他格式。大多數視窗管理器可以配置為在您按鍵時啟動腳本或程序,並帶有參數。這是最好的方法,但如果您的 WM 沒有,則可以使用
xbindkeys
. 因此,您可以以任何您想要的方式進行自定義。請注意,如果接收器音量超過 100%,Pulseaudio 將開始使用硬體混音器,這可能會使聲音失真。
另請注意,Pulseaudio 允許為每個應用程序(“音頻流”)設置音量
pamcd set-sink-input-volume
。您可以列出它們pacmd list-sink-inputs
並以類似的方式設置它們。這允許您將接收器的音量保持在一個固定的水平,因此它們大致相等,而無需使用硬體混音器,並且當您切換接收器時,它將自動具有“正確”的音量。這是我喜歡的設置。