从终端更改应用程序音量

从终端更改应用程序音量

有没有办法从终端更改单个应用程序的音量?我找到了一种方法来更改掌握音量,amixer -D pulse sset Master 50%但我希望能够更改单个应用程序的音量,就像在 中一样pavucontrol。我的用途是编写脚本。

答案1

我发现解决方案隐藏在评论在 unix.stackexchange 上。使用pactl list sink-inputs查找应用程序的接收器输入号码。然后使用pactl set-sink-input-volume [sink number] [volume percent]设置应用程序的音量。

答案2

此功能可轻松设置任何应用程序的音量。

function pacmd-set-app-volume() {
  local player="$1"
  local volume="$2"
  firstPlayerSinkIndex="$(pacmd list-sink-inputs | awk '/index:|application.name |application.process.binary / {print $0};' | grep -iB 1 "$player" | awk '/index:/ {print $2; exit}')"  # get specific app sink
  [[ $firstPlayerSinkIndex ]] && pacmd set-sink-input-volume "$firstPlayerSinkIndex" "$((volume*65536/100))" # 100% → 65536
}

可以添加到.bashrc/ .zshrc

用法:

pacmd-set-app-volume <loosly_app_name> <volume_percentage>

例如:

pacmd-set-app-volume "MPV Media Player" 55  # Or "mpv" "75"

相关内容