Como posso forçar um aumento gradual do volume quando qualquer som começa a ser reproduzido?

Como posso forçar um aumento gradual do volume quando qualquer som começa a ser reproduzido?

Cenário: eu toco música alta. Deixo o computador por uma hora. Volto e retomo a música, sem lembrar que o volume está no “cheio”.

Pergunta: Existe algo que possa ser instalado, como um plugin pulseaudio, que me permitirá especificar:

Dado que nenhum áudio foi reproduzido por Asegundos e o volume está acima de B, quando o áudio começar a ser reproduzido, reproduza-o no volume C, aumentando gradualmente o volume de volta para Bmais de alguns Dsegundos.

Seria fortemente preferível se isso pudesse ser feito "globalmente", por isso não importa qual seja a fonte do som.

Responder1

Você pode instalar um reprodutor de música que possua esse recurso.

Que eu saiba, Clementine possui esse recurso e está disponível no Ubuntu Software Center!

Responder2

Uma opção é silenciar --- ou diminuir --- o volume do seu sistema ao suspender (ou retomar), com um script. Isso significa que você terá que desmontá-lo manualmente após retomar, mas...

O comando que define o volume deve ser algo como:

pacmd set-sink-volume 0 20000

( pacmdestá no pacote pulseaudio-utils), onde 0 é o coletor padrão (saída de som) e o volume é um número de 16 bits (de 0 a 65535);mais detalhes nesta resposta. Você precisa experimentar para encontrar o comando que funciona para o seu sistema.

Para tornar isso automático no momento da suspensão/retomada, você pode usar a mesma técnica explicada emesta postagem:(Eu não testei --- mas deve funcionar).

  1. editar/criar o arquivo

    gksudo gedit /etc/pm/sleep.d/02_shush

  2. Coloque este conteúdo nele:

    #!/bin/sh
    
    # set the volume low on suspend and resume. Change the command to suite your 
    # system. You can do that just in suspend OR resume or whatever; edit to your 
    # taste...
    
    case "$1" in
        resume|thaw)
            # this command(s) will be executed at resume time
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
        suspend|hibernate)
            # this command(s) will be executed before suspend
            pacmd set-sink-volume 0 20000 > /dev/null
        ;;
    esac
    
  3. salvar e sair

  4. torne-o executável:

    sudo chmod 755 /etc/pm/sleep.d/02_shush

informação relacionada