Alterar volume do bash

3

Eu cheguei até aqui (de .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%"

As primeiras duas linhas devem funcionar, se eu ler a página man amixer corretamente, e elas não produzirem uma mensagem de erro, mas o comportamento delas não é confiável: às vezes, há uma grande alteração, na maioria das vezes nada acontece.

As duas últimas linhas funcionam. Eu acho que você poderia fazer como dez aliases. Ainda assim, você gostaria que a funcionalidade de aumento / diminuição fosse vinculada a atalhos de teclado.

Estou usando amixer da maneira errada ou há alguma outra ferramenta para fazer o truque? ( alsamixer parece não ter essa funcionalidade como comandos da CLI).

Editar

Por fim, funcionou. Isso foi há tanto tempo (que triste!), Então eu perdi a noção de quem contribuiu com o quê. De qualquer forma, obrigada. (Abaixo: Para usuários bash, coloque em .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%
}
    
por Emanuel Berg 30.05.2012 / 04:34

1 resposta

5

Para seus dois primeiros aliases, parece que o +/- deve ir após o valor a ser tratado como uma mudança relativa, em vez de um valor absoluto (página do manual do amixer) :

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

Eu substituiria os dois últimos (e seus 8 irmãos assumidos) por uma única função de shell:

v () {
  amixer -c 0 -- sset Master playback $i%
}
    
por 30.05.2012 / 04:48

Tags