web-dev-qa-db-fra.com

Comment puis-je choisir le périphérique de sortie audio à l'aide du terminal?

J'ai un casque numérique et une paire de haut-parleurs analogiques. Y at-il un moyen pour moi de basculer entre eux dans le terminal sous Ubuntu? Je le demande parce que je voudrais créer un raccourci clavier pour ce commutateur afin de le rendre plus simple que d’avoir la tâche fastidieuse d’accéder aux paramètres audio à l’aide de la souris.

2
Rafael Pontes

Bien sûr, vous pouvez utiliser les commandes "pactl" et "pacmd".

Un exemple pour une paire de haut-parleurs USB externes + des haut-parleurs internes, avec de la musique en lecture.

$ pactl list sinks short | awk -F '\t' '{print $1,$2,$5}' # Print available outputs
0 alsa_output.pci-0000_00_1b.0.analog-stereo RUNNING
1 alsa_output.usb-Logitech_Logitech_Z-5_Speakers-00-Speakers.analog-stereo SUSPENDED

Le premier avec l'index 0 est la parole interne, la musique est en cours d'exécution sur cet évier. Un autre index avec l'index 1 est le haut-parleur USB externe.

$ pactl stat | grep Sink  # Show the current output device (it's the internal speaker)
Default Sink: alsa_output.pci-0000_00_1b.0.analog-stereo
$ pacmd set-default-sink 1 # Make the external USB speaker as desired output device.

Si vous ne jouez pas pendant le changement, vous pouvez vous arrêter ici.

(Remarque: pour vous assurer que cela fonctionne vraiment, il serait préférable de le faire avec quelque chose qui joue et de déplacer le flux comme suit.)

Si vous jouez quelque chose, vous remarquerez que la musique fonctionne toujours sur l'ancien appareil, vous devez la déplacer sur l'appareil souhaité:

$ pactl list sink-inputs | grep 'Input' # Get the stream ID
Sink Input #23
$ pacmd move-sink-input 23 1 # Move it to the USB speaker

Voilà! Vous pouvez composer un script sur ces bases.

Référence: Comment changer de puits pulseaudio avec “pacmd set-default-sink” pendant la lecture?

5
P.-H. Lin