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%"

ページを正しく読み取ると、最初の 2 行は機能するはずです。man amixerエラー メッセージも表示されませんが、その動作は信頼できません。大きな変更が行われることもありますが、ほとんどの場合何も起こりません。

最後の 2 行は機能します。エイリアスは 10 個ほど作成できると思います。それでも、増加/減少機能をキーボード ショートカットにバインドする必要があります。

私の使い方が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

最初の2つのエイリアスでは、+/-は絶対値ではなく相対的な変化として扱われる値(amixer マニュアルページ):

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

最後の 2 つ (およびそれらの 8 つの想定される兄弟) を単一のシェル関数に置き換えます。

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

関連情報