如何在 ubuntu 中从命令行将所有输出和输入音频设备静音、取消静音并将音量设置为最大?

如何在 ubuntu 中从命令行将所有输出和输入音频设备静音、取消静音并将音量设置为最大?

我在网上看到很多问题,但我只能设置在 Ubuntu 系统的声音设置中默认选择的输入和输出音频设备的音量。

这些命令如下:

amixer -D pulse sset Master mute
amixer -D pulse sset Master unmute
amixer -D pulse sset Master x%
amixer -D pulse sset Capture x%

其他命令都不起作用。例如,使用这个操作说明,我尝试了以下命令:

amixer -c 3 -- set Master playback -20dB

只得到回复:

amixer: Unable to find simple control 'Master',0

我的 ubuntu 系统连接了多个输入和输出设备,我想通过命令行控制所有设备的音量。可以吗?如何通过命令行设置未在 ubuntu 音频设置中选择为默认设备的音量?

答案1

我使用解决了这个问题pacmd

例如,以下命令生成可用作音频输入的设备列表:

pacmd list-sources|awk '/index:/ {print $0}; /name:/ {print $0};'

我的系统中该命令的输出如下:

    index: 0
    name: <alsa_output.pci-0000_01_00.1.hdmi-stereo.monitor>
    index: 1
    name: <alsa_output.pci-0000_00_1b.0.analog-stereo.monitor>
  * index: 2
    name: <alsa_input.pci-0000_00_1b.0.analog-stereo>

表示*当前将此输入设备作为默认输入设备。

以下命令改变设备的音量alsa_input.pci-0000_00_1b.0.analog-stereo

pacmd set-source-volume alsa_input.pci-0000_00_1b.0.analog-stereo 50000

您还可以使用索引号代替设备名称,如下所示:

pacmd set-source-volume 2 50000

这里我使用 50000 作为音量值,因为通常 100000 是最大值。

请查看pacmd手册以获取更多与命令相关的信息。

答案2

尝试一下alsamixer。在 alsamixer 中,您可以单独设置不同输入和输出设备的音量。

答案3

要更改 PulseAudio 混音器控制,您需要使用-D pulse

要更改 ALSA 混音器控制,您需要使用-c x,其中x是卡号或 ID。(ID 显示在 中的方括号中/proc/asound/cards。)

要查看控件列表,请使用amixer -c x scontrols

相关内容