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.