Answers:
对于交互式使用,您可以使用alsamixer
。对于脚本编写(例如,绑定到组合键),请参阅amixer
。
alsamixer
默认情况下,在大多数系统中都包含此功能。
要设置主音量,请使用:
# Gets a list of simple mixer controls
$ amixer scontrols
然后将其设置为所需的音量,例如
$ amixer sset 'Master' 50%
man amixer
建议它们是等效的,并且“ sset”中的“ s”代表“ simple”。还有一个“ cset”设置卡控制内容。
如果您的系统正在使用pulseaudio
,则可以使用pactl
:
pactl set-sink-volume 0 +15%
要么
pactl set-sink-volume 0 -5dB
尽管您也可以指定整数或线性因子:
set-sink-volume SINK VOLUME [VOLUME ...]
Set the volume of the specified sink (identified by its symbolic name or numerical index). VOLUME can be speci‐
fied as an integer (e.g. 2000, 16384), a linear factor (e.g. 0.4, 1.100), a percentage (e.g. 10%, 100%) or a
decibel value (e.g. 0dB, 20dB). If the volume specification start with a + or - the volume adjustment will be
relative to the current sink volume. A single volume value affects all channels; if multiple volume values are
given their number has to match the sink's number of channels.
pactl
带有负百分比参数的命令将失败,并显示“无效选项”错误。使用标准的shell --
伪参数来禁用否定参数之前的参数解析。例如pactl set-sink-volume 1 -- -5%
--
带有负值(百分数,db,整数……它们都可以正常工作)的其他函数。实际上,情况恰恰相反:如果我--
按照wiki的要求使用,例如pactl set-sink-volume 1 -- -3%
get Invalid volume specification
。
--
,则会得到一个无效的选项。
bash
和zsh
)。的较早版本可能pactl
存在此问题,并且上游很可能已解决了该问题(我使用的是6.0版)。
我知道这是一个古老的。由于Alsa和PulseAudio如此连接,askubuntu的以下回答帮助我管理了主声音和HDMI的音量:
增加音量
amixer -q -D pulse sset Master 10%+
减少音量
amixer -q -D pulse sset Master 10%-
切换静音
amixer -q -D pulse sset Master toggle
其他混合器sset命令也可以使用。
这些“对于人耳来说更自然”。
要获得alsamixer单元中的母版,请使用:
amixer -M get Master
要将alsamixer单位的音量提高5%,例如:
amixer -M set Master 5%+
在OS X中,使用以下命令:
# highest
osascript -e "set Volume 7"
# lowest
osascript -e "set Volume 1"
# middle
osascript -e "set Volume 3.5"
您甚至可以将音量设置为其他分数级别:
# 25%
osascript -e "set Volume 1.75"
amixer sget Master | grep 'Right:' | awk -F'[][]' '{ print $2 }'
将主音量水平提高10%:amixer -q sset Master 10%+