终端命令设置音量?

我有一个外部声卡,大多数工作正常,除了当它第一次插入,或当我打开我的笔记本电脑,音量设置为100%。 也就是说,整个系统音量,如声音指示器所示。

我正在寻找的是一个终端命令,它将该音量设置为50%,这样我就可以在登录时运行它,而不必担心我玩的第一个音频如果我忘记转动就会向我发出声音音量下降。 什么命令允许您更改音量,即声音指示器中的音量?

我已经在gsettings和dbus中四处寻找,但一直无法找到任何可以让我设置系统音量的东西。 我确实知道alsamixer,但这不是我正在寻找的解决方案,因为这不允许我使用声音指示器或我的笔记本电脑的多媒体键来改变音量。

这个答案的部分内容来自使用命令行设置麦克风输入音量? ,为了您的方便放在这里。

体积增加5%

amixer -D pulse sset Master 5%+ 

体积减少5%

 amixer -D pulse sset Master 5%- 

设定量为50%

 amixer -D pulse sset Master 50% 

如果您使用的是ALSA,amixer可能对您的脚本编程很有帮助。

在终端中删除amixer --help命令时,您将看到如下内容:

在此处输入图像描述

根据您的声卡,级别可能与我的不同,但您可以在终端中使用alsamixer ,以检查您可以在命令中调用声卡中的哪些级别和function,以根据需要设置音量。

在此处输入图像描述

在我的例子中,使用我的主要声卡(我有2个:嵌入式和PCI音频卡),级别从0到100,这样我就可以通过放入声卡来改变声卡中所需输入/输出的音量。终端下一个命令:

 amixer -c 0 set Front 50DB amixer -c 0 set Front 64DB 

在第一个命令中,结果将前面板输出设置为78%级别,第二个命令将前面板输出设置为100%级别。

为了收集与混音器控件相关的信息,请删除不带参数的amixer命令,您将获得一个列表。 或者使用amixer -c X (其中“X”是音频设备的编号)指示您希望看到哪个音频设备的控件列表。

顺便说一句:请记住,DB值是以对数方式计算的,而不是线性计算的。

请记住,此命令允许您控制当前使用的任何声音设备上的参数。

祝好运!

你可以使用PulseAudio本身(我不建议使用ALSA,因为你不能使用GUI来提高音量)。

使用pactl :您可以按如下方式设置特定设备的卷:

 pactl set-sink-volume 0 +10% 

这使得音量增加了10%。 如果你想减少10%:

 pactl set-sink-volume 0 -10% 

如果您需要50%的音量:

 pactl set-sink-volume 0 50% 

如果你需要摇滚整个地方:

 pactl set-sink-volume 0 150% 

你可以使用百分比或整数,但整数很慢,可能不是你的事情。

pactl / pacmd (与amixer不同)允许增加超过100%的音量:-)。

amixer set 'Master' 10%+增加最大声音10%

amixer set 'Master' 10%-减少最大声音10%

amixer set 'Master' 10% – 获得最大声音的10%

amixer set 'Master' 80% – 获得80%的最大声音

……等

如果要将音量设置为“Master”以外的音量,请按以下方式检查列表:

amixer scontrols


您可能还想查看alsamixerpacmd