¿Cómo cambiar el volumen de las aplicaciones y transmisiones de reproducción de pulseaudio que no están actualmente en uso?

13

Puedo cambiar los volúmenes de sonido con " gnome-volume-control ". Pero solo se enumeran las aplicaciones de reproducción / streams que están actualmente en uso :

captura de pantalla

En ~/.config/pulse/Encontré *-stream-volumes.tdby *-device-volumes.tdbque podrían ser los archivos de configuración, pero no puedo leer o editar estos archivos.

Lasall
fuente

Respuestas:

4

Escribí una pequeña herramienta que te permite configurar el volumen de cualquier cliente que pulseaudio recuerde. Por favor mira aquí:

https://github.com/rhaas80/pa_volume

para el repositorio. Necesitará el paquete libpulse-dev instalado después de lo cual un simple "make" debería construir la herramienta. Consulte su archivo README.md para su 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
fuente
1
6 años después de hacer la pregunta, gracias por proporcionar una solución de trabajo y compartirla aquí :)
Lasall
También puede enumerar clientes con pacmd list-clientsy matarlos con 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. Algunos volverán a aparecer, sin saber por qué.
Pablo Bianchi
16

Pulseaudio viene con una interfaz de línea de comando ( man pulse-cli-syntax) para controlar muchas configuraciones.

Podemos cargar el analizador de línea de comandos pacmdo llamar a los comandos directamente en un terminal o script:

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

controla el volumen de un sumidero dado donde <index>está el índice del sumidero (listado con pacmd list-sinks) y <volume>es cualquier valor de 0 (= Silencio) a 65536 = 100%.

Los archivos de configuración en ~/.config/pulse(anteriormente ~/.pulseque aún pueden estar activos en una instalación actualizada) no están destinados a ser leídos o editados en una configuración predeterminada. Sin embargo, podemos crear una costumbre default.paallí para anular la configuración /etc/pulse/default.pa.

Para 12.04 earcandy puede usarse para control de audio. Lamentablemente, esta aplicación no está más desarrollada y no está disponible en versiones posteriores.

Véanse también las notas para esta respuesta .

Takkat
fuente
Gracias por su explicación. Pero no llego. Cuando quiero ajustar mi volumen de amarok, por ejemplo, ¿cómo hago eso? No aparece en la lista de sumideros o lista de fuentes .
Lasall
No puede hacerlo mediante la interfaz de línea de comandos. Esto está destinado a los sumideros de salida.
Takkat
Ya he probado Earcandy. Debería hacer exactamente las cosas que quiero hacer. Pero todavía no es estable, así que no marco esta pregunta como resuelta.
Lasall
@Lasall: no te preocupes. Esperamos que llegue a ser estable en algún momento.
Takkat
3

Para encontrar sus fuentes de fuente pulseaudio, use el siguiente comando:

pactl list short sinks

De este comando obtuviste el runningy se idlehunde. Con su número de sumidero. Usando ese número de índice puede controlar el volumen de los sumideros.

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

Puede usar el siguiente comando para controlar volúmenes de sumideros particulares:

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

Por ejemplo:

pactl set-sink-volume 0 100%
Prakash V Holkar
fuente
1
Gracias por mirar esta vieja pregunta. Solo obtengo un artículo en la lista de sumideros. Mi pregunta era controlar el volumen de diferentes aplicaciones (que no se están ejecutando actualmente) y no diferentes interfaces de audio.
Lasall
Tampoco responde la pregunta, pero puede ver todas las salidas de audio que se ejecutan actualmente pactl list sink-inputs. Si su programa se muestra con el ID 108 en esta lista y desea configurarlo en un 60% de volumen, úselo pactl set-sink-input-volume 108 60%. Pero el sonido tiene que estar ejecutándose para que funcione.
weltensturm
1
Todo lo que obtengo para eso: "No se ha especificado un comando válido".
panzi