O PulseAudio pacmd
não é capaz de alternar os coletores padrão enquanto houver um fluxo ativo na entrada do coletor. No entanto, existe uma maneira de ainda conseguir isso.
Alterando o coletor padrão da linha de comando
Primeiro, precisamos determinar o número de índice dos sumidouros que queremos alternar. Isso pode ser feito chamando:
pacmd list-sinks
Dependendo do nosso sistema, isso fornecerá uma lista mais ou menos longa de coletores e propriedades que estão acessíveis no momento:
>>> 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>
O index
ou o name
dado aqui é o que precisamos para endereçar o coletor por linha de comando. O coletor padrão atual é marcado com um asterisco (aqui 0
).
Para poder alterar os coletores padrão da linha de comando, talvez seja necessário desativar a restauração do dispositivo de destino de stream editando a linha correspondente em /etc/pulse/default.pa
a:
load-module module-stream-restore restore_device=false
Para alterar o coletor de saída padrão para o coletor 1
, então executamos
pacmd set-default-sink 1
O sucesso pode ser visualizado abrindo o menu Configurações de som .
Movendo um fluxo para outro coletor
Alterar o coletor padrão enquanto temos um fluxo de entrada ativo sendo reproduzido para um determinado coletor não tem efeito . Isso deve ser feito movendo essa entrada para outro coletor.
pacmd list-sink-inputs
nos informará o índice do fluxo de entrada
>>> 1 sink input(s) available.
index: 5
driver: <protocol-native.c>
Agora sabemos que queremos mover o fluxo de entrada 5
para afundar 1
chamando
pacmd move-sink-input 5 1
ou voltar para afundar 0
se quisermos. Isso será feito imediatamente, sem a necessidade de interromper a reprodução.
Alterar o coletor padrão durante a reprodução
É claro que podemos combinar esses dois comandos para alternar imediatamente os coletores padrão durante a reprodução. com
pacmd set-default-sink 1 & pacmd move-sink-input 5 1
Uma desvantagem desse método é que o índice de fluxo de entrada é alterado sempre que paramos e reiniciamos o music player. Portanto, sempre precisamos descobrir o índice de fluxo atual antes de podermos alternar usando a linha de comando.