Definir o volume pulseaudio padrão

3

Quando eu reinicializo, o volume nos pias do PulseAudio é definido como 100%. Eu sei como alterar o volume usando pactl set-sink-volume, mas isso é definido apenas temporariamente. Eu poderia escrever um script que é executado na inicialização, mas não será aplicado se eu conectar um coletor posteriormente. (por exemplo, um alto-falante Bluetooth)

Existe um arquivo de configuração onde eu posso definir o volume padrão que é dado a um dispositivo quando ele é carregado pela primeira vez pelo PulseAudio? Ou até mesmo o volume principal na inicialização?

Esclarecimento: O aplicativo é para um headless linux box, então o sistema não deveria ter que ser reinicializado e deveria ser capaz de aceitar novos dispositivos sem ter que se conectar via ssh para ajustar volumes, etc.

    
por MrUser 04.06.2014 / 10:43

4 respostas

3

O que funcionou para mim foi entrar em /home/(user)/.config/pulse/default.pa e rolar até o final para set-sink-volume e alterar o valor para 0

    
por bob 19.07.2015 / 23:18
1

Com o PulseAudio 8.0 no Ubuntu 16.04 e uma única placa de som, você pode definir o volume principal padrão como 50% com o seguinte arquivo. Ao incluir o padrão do sistema, você não precisa se preocupar com mudanças nos padrões da distribuição.

$ cat ~/.config/pulse/default.pa
.include /etc/pulse/default.pa

# Set volume to 50% on boot
set-sink-volume 0 32768

Se você tiver vários cartões, substitua o número do índice pelo nome, pois o pedido não é garantido. Além disso, se você quiser ajustar o volume, determine o "volume base", que representa o valor máximo e calcule a porcentagem equivalente.

$ pacmd list-sinks | grep -e "name:" -e "index:" -e "base volume:"
  * index: 0
    name: <alsa_output.card0>
    base volume: 65536 / 100% / 0.00 dB
  * index: 1
    name: <alsa_output.card1>
    base volume: 32768 / 100% / 0.00 dB

Por exemplo, para especificar o volume padrão de 70% para o card1, a linha se tornaria:

set-sink-volume alsa_output.card1 22937
    
por Lucas 13.03.2017 / 22:52
0

Defina o volume para o nível desejado e digite um terminal:

sudo alsactl store

Agora, ele deve ser armazenado mesmo depois da reinicialização.

    
por chaos 04.06.2014 / 11:02
0

Você pode criar scripts separados e executá-los a partir da inicialização, para que, sempre que reinicializar o sistema, verifique o volume específico do coletor.

Aqui está o script:

 export sink_index=$(pactl list short sinks | awk -v index_number=<sink_name> '==index_number {print }')
            volume=$(pactl list sinks | perl -000ne 'if(/#$ENV{sink_index}/){/(Volume:.*)/; print "\n"}' | sed 's/.*\ \(.*\)%.*//g')
            if [ $volume -ne 100 ]; then
                pactl set-sink-volume $sink_index 100%
            fi

O nome do coletor deve ser seu coletor ou coletor de bluetooth que você deseja definir o volume.

Você pode encontrar o coletor de bluetooth de:

pactl list short sinks | grep "alsa_output" | awk '{ print  }' | head -n1

Espero que isso ajude você.

    
por Prakash V Holkar 04.06.2014 / 11:17