從 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錯誤的方法或有其他工具可以實現這一目的? (alsamixerCLI 指令似乎沒有此功能。)

編輯

最後,成功了。這是很久以前的事了(多麼悲傷!),所以我不知道誰貢獻了什麼。不管怎樣,謝謝。 (如下:對於 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%
}

相關內容