Ted*_*Ted 5 command-line audio pulseaudio audio-volume
我经常更改笔记本电脑的音频设置(有时使用内置插孔端口,有时什么都不用,有时使用 USB 耳机,有时使用笔记本电脑底座中的插孔端口)。我想要键盘快捷键来一次性降低或提高所有输出的音量,因此无论当前哪个音频输出处于活动状态,它都可以工作。实现这一目标的最简单方法是什么?我还看到在 pavucontrol 中,我可以超过 100%,这有时很实用,所以如果命令也能够做到这一点,那就太好了。
我正在运行 Debian 测试、内核 4.9.0-3-amd64 和 pulseaudio 10.0。
dir*_*rkt 11
您需要一个脚本来执行此操作。有喜欢的脚本这是控制默认沉,但我还没有看到一个控制所有汇。
您可以使用 获取所有接收器的列表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
Run Code Online (Sandbox Code Playgroud)
where$VOLUME
可以是绝对 ( 150%
) 或相对 ( +5%
, -5%
),也可能是其他格式。
大多数窗口管理器都可以配置为在您按下键时启动脚本或程序,并带有参数。这是最好的方法,但如果您的 WM 没有,那么有像xbindkeys
. 因此,您可以以任何您想要的方式进行自定义。
请注意,如果接收器音量超过 100%,Pulseaudio 将开始使用硬件混音器,这会使声音失真。
另请注意,Pulseaudio 允许为每个应用程序(“音频流”)设置音量pamcd set-sink-input-volume
。你可以用pacmd list-sink-inputs
类似的方式列出它们并设置它们。
这允许您将接收器音量设置为固定级别,因此它们大致相等,而无需使用硬件混音器,并且当您切换接收器时,它将自动具有“正确”的音量。这是我更喜欢的设置。