从 bash 更改音量

从 bash 更改音量

我得到的信息如下(来自.bashrc):

alias i="amixer -c 0 -- sset Master playback +1dB"
alias d="amixer -c 0 -- sset Master playback -1dB"
alias v4="amixer -c 0 -- sset Master playback 40%"
alias v8="amixer -c 0 -- sset Master playback 80%"

如果我正确阅读了页面,前两行应该可以工作,man amixer并且它们不会产生错误消息,但它们的行为不可靠:有时会发生巨大变化,但大多数情况下什么也不会发生。

最后两行有效。我猜你可以创建十个别名。不过,你还是希望将增加/减少功能绑定到键盘快捷键。

我是否使用了amixer错误的方法,或者是否有其他工具可以解决这个问题?(alsamixer似乎没有 CLI 命令那样的功能。)

编辑

最后,终于成功了。这已经是很久以前的事了(真可悲!),所以我已经记不清谁贡献了什么。无论如何,谢谢。(以下:对于 bash 用户,请输入.bashrc

# volume
alias vol="alsamixer"
MASTER="amixer -q -c 0 sset Master playback"
alias i="$MASTER 2dB+"
alias d="$MASTER 2dB-"
alias mute="echo \" Audio muted.\"; $MASTER mute"
alias play="echo \" Audio un-muted.\"; $MASTER unmute"
alias unmute="play"
alias stop="mute"
v () {
  amixer -q sset Master playback $1%
}

答案1

对于你的前两个别名,看来 +/- 必须去掉将值视为相对变化,而不是绝对值(amixer 手册页)

alias i="amixer -c 0 -- sset Master playback +1db+"
alias d="amixer -c 0 -- sset Master playback +1db-"

我将用一个 shell 函数替换最后两个(以及它们的 8 个假定的兄弟):

v () {
  amixer -c 0 -- sset Master playback $i%
}

相关内容