每个应用程序卷的命令行(也许是 amixer 或 pactl?)

9mj*_*mjb 12 linux alsa audio pulseaudio audio-volume

我可以使用这些命令(从命令行)更改主音量,它会影响所有应用程序,但是如何仅更改一个应用程序的音量(XMMS例如)?

amixer -q  set Master     toggle  # or pactl set-sink-mute   0 toggle
amixer -q sset Master 5%+ unmute  # or pactl set-sink-volume 0 -- -5%
amixer -q sset Master 5%- unmute  # or pactl set-sink-volume 0 -- +5%
Run Code Online (Sandbox Code Playgroud)

pacmd dump #有趣的是,有可以做这件事的GUI应用程序:gnome-control-center soundpavucontrol

小智 21

您可以使用 pactl 命令获取接收器输入的数量。

$ pactl list sink-inputs
...
Sink Input #7119
    Driver: protocol-native.c
    Owner Module: 12
    Client: 6298
    Sink: 0
...
Properties:
    application.icon_name = "google-chrome"
    media.name = "Playback"
    application.name = "Chromium"
...
Run Code Online (Sandbox Code Playgroud)

使用此编号 (#7119),您可以指定接收器输入。

$ pactl set-sink-input-mute 7119 toggle
Run Code Online (Sandbox Code Playgroud)

它将使用application.icon_name属性标识应用程序。以下是指定 Chromium 的情况。

$ pactl list sink-inputs
...
Sink Input #7119
    Driver: protocol-native.c
    Owner Module: 12
    Client: 6298
    Sink: 0
...
Properties:
    application.icon_name = "google-chrome"
    media.name = "Playback"
    application.name = "Chromium"
...
Run Code Online (Sandbox Code Playgroud)