如何同时控制线路输入 + 普通输出的音量?

如何同时控制线路输入 + 普通输出的音量?

我有一个通过线路输入连接到计算机的音源。但是当我改变主音量时,只有计算机上播放的声音(例如媒体、警报等)的音量会改变;线路输入源的输出音量不会改变。我该如何控制它?

更新:

需要澄清的是,我不仅想控制线路输入输出音量,还想通过一个控件来控制正常的“输出音量”,并且我希望该控件也能影响线路输入输出音量。类似于“主音量”的控件会影响声卡输出的所有内容。

运行命令“alsamixer”时看到的“主音量”仅影响来自主 PC 的声音,而不影响来自线路输入的声音。

答案1

我想到了一个解决方案,可以仅使用键盘的“媒体键”来控制“主”和“线路”的音量。

第一步是禁用默认音量控制,方法是进入System → Preferences → Keyboard Shortcuts,单击“快捷方式”选项卡,然后在“声音和媒体”页面上将“调高音量”和“调低音量”设置为“禁用”。

其次,您需要在“自定义快捷方式”页面上将“音量键”分配给自定义命令。为此,请单击底部的“+”以添加快捷方式。命名第一个命令Volume Up并让其执行脚本:./path-to-scripts/VolumeUp.sh。对第二个命令重复此过程,并让其执行您的VolumeDown.sh脚本。接下来,单击显示“已禁用”的命令并为其分配您的键(对两个命令重复此操作)。

最后,创建自定义快捷方式引用的 2 个脚本,并将以下内容复制粘贴到其中:

音量增加.sh:

#!/bin/bash
amixer -c0 -sq <<-EOF
set Master 10%+
set Line 10%+
EOF

音量降低.sh:

#!/bin/bash
amixer -c0 -sq <<-EOF
set Master 10%-
set Line 10%-
EOF

不要忘记在文件属性中将脚本设置为“允许将文件作为程序执行”,chmod以允许执行。您可能还需要阅读混频器知道要修改音量的量(默认值为 10%)。

如果你打开 gnome-alsamixer,你现在应该会看到“Master”和“Line”随着你按下“音量键”而上下移动。唯一的缺点是按键,必须按下才能改变音量,不能按住不放。

答案2

我已经关注杰森·B的答案,它成功了。但我还添加了代码来显示音量通知,因为这是 ubuntu 14.04 中的默认行为。

以下是要在文件末尾添加的内容:

tmp1=$(amixer get Master | grep dB | sed 's/\(^[a-z0-9 :]\+\[\|\[\|\]\)//gi')
tmp2=(${tmp1//\ / })
tmp3=(${tmp2//\%/ })
notify-send hi -i notification-audio-volume-high -h int:value:$tmp3 -h string:synchronous:volume

答案3

你已经尝试过线路控制了吗?按 Alt+F2 并输入“gnome-alsamixer”。你应该会看到一个带有许多控件的窗口,称为混频器,你可以在其中调整每一个声源。

PS:在笔记本电脑以及具有板载声音的 PC 中,线路输入通常使用第二个声音设备实现,因此您可能需要先在混音器中选择另一个选项卡(如果显示更多选项卡)。

相关内容