これらのコマンド(コマンドラインから)を使用してマスターボリュームを変更でき、すべてのアプリケーションに影響しますが、1つのアプリケーション(たとえば、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%
pacmd dump #
は興味深いもので、これを行うことができるGUIアプリケーションがあります:gnome-control-center sound
、pavucontrol
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"
...
この番号(#7119)を使用して、シンク入力を指定します。
$ pactl set-sink-input-mute 7119 toggle
application.icon_name
プロパティでアプリケーションを識別します。以下はChromiumを指定する場合です。
#!/bin/sh
LANGUAGE="en_US"
app_name="Chromium"
current_sink_num=''
sink_num_check=''
app_name_check=''
pactl list sink-inputs |while read line; do \
sink_num_check=$(echo "$line" |sed -rn 's/^Sink Input #(.*)/\1/p')
if [ "$sink_num_check" != "" ]; then
current_sink_num="$sink_num_check"
else
app_name_check=$(echo "$line" \
|sed -rn 's/application.name = "([^"]*)"/\1/p')
if [ "$app_name_check" = "$app_name" ]; then
echo "$current_sink_num" "$app_name_check"
pactl set-sink-input-mute "$current_sink_num" toggle
fi
fi
done
PulseAudioの場合、Roland Haasがツールを作成しました。
https://github.com/rhaas80/pa_volume
インストールする必要がありましたlibpulse-dev
linux-libc-dev
libc6-dev
zlib1g-dev
libpcre3-dev
libglib2.0-0
libglib2.0-dev
。make
を実行するためのコンパイラ(gcc)も必要になる場合があります。
ソース: https://askubuntu.com/a/968540/382812 「現在使用されていないPulseAudio再生アプリ/-ストリームの音量を変更する方法」