PulseAudio pacmd
no es capaz de cambiar los sumideros predeterminados mientras hay una transmisión activa en la entrada del sumidero. Sin embargo, todavía hay una manera de lograr esto.
Cambiar el sumidero predeterminado desde la línea de comando
Primero necesitamos determinar el número de índice de los sumideros que queremos cambiar. Esto se puede hacer llamando a:
pacmd list-sinks
Dependiendo de nuestro sistema, esto le dará una lista más o menos extensa de sumideros y propiedades a las que actualmente se puede acceder:
>>> 2 sink(s) available.
* index: 0
name: <alsa_output.pci-0000_01_00.1.hdmi-stereo-extra1>
driver: <module-alsa-card.c>
:
:
index: 1
name: <alsa_output.pci-0000_00_14.2.analog-stereo>
driver: <module-alsa-card.c>
El index
o el name
dado aquí es lo que necesitamos para abordar el sumidero por línea de comando. El sumidero predeterminado actual está marcado con un asterisco (aquí 0
).
Para poder cambiar los sumideros predeterminados desde la línea de comando, es posible que necesitemos desactivar la restauración del dispositivo de destino de la transmisión editando la línea correspondiente en /etc/pulse/default.pa
:
load-module module-stream-restore restore_device=false
Para cambiar el sumidero de salida predeterminado a sumidero 1
, ejecutamos
pacmd set-default-sink 1
El éxito se puede visualizar abriendo el menú Configuración de sonido .
Mover una corriente a otro sumidero
Cambiar el sumidero predeterminado mientras tenemos una transmisión de entrada activa que se reproduce en un sumidero dado no tiene ningún efecto . Esto debería hacerse moviendo esta entrada a otro sumidero.
pacmd list-sink-inputs
nos dirá el índice de la secuencia de entrada
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
Ahora sabemos que queremos mover el flujo de entrada 5
al receptor 1
llamando
pacmd move-sink-input 5 1
o volver a hundirse 0
si nos gusta. Esto se realizará de inmediato sin necesidad de detener la reproducción.
Cambiar el sumidero predeterminado mientras se juega
Por supuesto, podemos combinar esos dos comandos para cambiar inmediatamente los sumideros predeterminados durante la reproducción, por ejemplo, con
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
Un inconveniente de este método es que el índice de flujo de entrada cambia cada vez que detenemos y reiniciamos el reproductor de música. Por lo tanto, siempre tenemos que encontrar el índice de flujo actual antes de poder cambiar usando la línea de comando.
pactl list short sinks
>4 bluez_sink.FC_A8_9A_2C_EB_0B module-bluez5-device.c s16le 1ch 8000Hz IDLE
ahora solo haga referencia al nombrepactl set-default-sink bluez_sink.FC_A8_9A_2C_EB_0B