Como alterar o volume de aplicativos e fluxos de reprodução do pulseaudio que não estão em uso no momento?

13

Eu posso alterar os volumes de som com " gnome-volume-control ". Mas são listados apenas aplicativos de reprodução / fluxos atualmente em uso :

captura de tela

Em ~/.config/pulse/eu encontrei *-stream-volumes.tdbe *-device-volumes.tdbesses podem ser os arquivos de configuração, mas não consigo ler ou editar esses arquivos.

Lasall
fonte

Respostas:

4

Escrevi uma pequena ferramenta que permite definir o volume de qualquer cliente que o pulseaudio se lembre. Por favor, veja aqui:

https://github.com/rhaas80/pa_volume

para o repositório. Você precisará do pacote libpulse-dev instalado após o qual um simples "make" deve criar a ferramenta. Por favor, consulte o arquivo README.md para uso.

dpkg -l | grep libpulse-dev # Check if installed
git clone [email protected]:rhaas80/pa_volume.git
cd pa_volume/
make
./pa_volume # list remembered PA clients
./pa_volume Program 30 # set to 30%
Roland Haas
fonte
1
6 anos depois de fazer a pergunta, obrigado por fornecer uma solução de trabalho e compartilhá-lo aqui :)
Lasall
Você também pode listar clientes pacmd list-clientse matá-los com pacmd kill-client( man pulse-cli-syntax). Para Kill'Em All: for i in $(pacmd list-clients | grep index | grep -o "[0-9]*"); do pacmd kill-client $i; done. Alguns reaparecerão, sem saber por quê.
Pablo Bianchi
16

O Pulseaudio vem com uma interface de linha de comando ( man pulse-cli-syntax) para controlar muitas configurações.

Podemos carregar o analisador de linha de comando pacmdou chamar comandos diretamente em um terminal ou script:

pacmd set-sink-volume <index> <volume>
pacmd set-source-volume <index> <volume>

controla o volume de um determinado coletor onde <index>está o índice do coletor (listado com pacmd list-sinks) e <volume>é qualquer valor de 0 (= Mudo) a 65536 = 100%.

Os arquivos de configurações ~/.config/pulse(anteriormente ~/.pulseque ainda podem estar ativos em uma instalação atualizada) não devem ser lidos ou editados em uma configuração padrão. No entanto, podemos criar um costume default.papara substituir as configurações /etc/pulse/default.pa.

Para 12.04 earcandy pode ser usado para controle de áudio. Infelizmente, este aplicativo não foi desenvolvido e não está disponível em versões posteriores.

Veja também notas para esta resposta .

Takkat
fonte
Obrigado pela sua explicação. Mas eu não chego. Quando quero ajustar meu volume amarok, por exemplo, como faço isso? Não está listado em coletores de lista ou fontes de lista .
Lasall 23/05
Você não pode fazer isso pela interface da linha de comandos. Isso está vinculado aos dissipadores de saída.
Takkat 23/05
Eu já testei earcandy. Deve fazer exatamente as coisas que eu quero. Mas como ainda não é estável, não marque esta questão como resolvida.
Lasall 23/05
@ Lasall: não se preocupe. Esperamos que chegue a um tempo estável.
Takkat 24/05
3

Para encontrar os sumidouros de sua fonte pulseaudio, use o seguinte comando:

pactl list short sinks

A partir deste comando, você obtém as pias runninge idle. Com o número da pia. Usando esse número de índice, você pode controlar o volume dos dissipadores.

index: 128
    driver: <module-ladspa-sink.c>
    state: RUNNING
    sink: 0
    # ^ This is the sink number you want to find

Você pode usar o seguinte comando para controlar um volume específico de sumidouros:

pactl set-sink-volume <index number> <volume in %>

Por exemplo:

pactl set-sink-volume 0 100%
Prakash V Holkar
fonte
1
Obrigado a olhar para esta pergunta antiga. Eu só recebo um item na lista de afundamentos. Minha pergunta era controlar o volume de aplicativos diferentes (atualmente não em execução) e interfaces de áudio não diferentes.
Lasall
Ele também não responde à pergunta, mas você pode ver todas as saídas de áudio em execução no momento pactl list sink-inputs. Se o seu programa aparecer com o ID 108 nesta lista e você desejar configurá-lo para 60% do volume, use pactl set-sink-input-volume 108 60%. Mas o som precisa estar funcionando para funcionar.
weltensturm
1
Tudo o que recebo para isso: "Nenhum comando válido especificado".
precisa