web-dev-qa-db-fra.com

Faire que PulseAudio préfère un périphérique audio externe

Je dispose d'un périphérique audio externe Bose Soundlink, que j'utilise pour diffuser de la musique de mon ordinateur vers ma chaîne stéréo. Ubuntu reconnaît le périphérique mais ne l’utilise pas automatiquement. Pour que PulseAudio l'utilise pour la sortie, je dois le sélectionner manuellement dans l'onglet "Sortie" dans "Paramètres son".

J'aimerais que PulseAudio privilégie toujours un périphérique externe par rapport à son périphérique interne, s'il en existe un de disponible. Y a-t-il un moyen d'accomplir cela?

11
bessman

Le module module-switch-on-connect est également utile. Si vous ajoutez la ligne

load-module module-switch-on-connect

pour /etc/Pulse/default.pa (en tant que su, bien sûr), cela devrait se faire automatiquement sans avoir à appeler un script.

16
Sam Whitlock

En théorie, cela devrait être géré par "Contrôle du volume PulseAudio". Il existe un bouton pour sélectionner un périphérique comme périphérique par défaut, même si, à mon humble avis, il est mal intitulé "Définir comme solution de secours". Plus d'informations sur cette fonctionnalité ici: http://ubuntuguide.org/wiki/Ubuntu_Oneiric_Hardware

Malheureusement, la fonctionnalité ne fonctionne pas. Dès qu'un périphérique audio USB est débranché, le réglage en tant que périphérique par défaut est oublié, même si tous les autres paramètres tels que le volume, la balance, etc. sont conservés lors de la prochaine connexion du périphérique. Dans votre cas, si le appareil n'est pas en cours de suppression cette fonctionnalité peut réellement fonctionner pour vous. Si vous manquez l'application, installez simplement le paquet 'pavucontrol'

J'utilise un casque USB pour appeler et je devais créer un script en utilisant "pacmd" pour l'activer ou le désactiver au besoin, afin d'éviter de passer par l'interface graphique. Cela me permettait d'ajouter quelques éléments de lanceur pour pouvoir passer d'un objet à l'autre. Dans mon cas, mon script pour activer le casque est le suivant:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

Et pour revenir à mon audio interne:

#!/bin/bash
pacmd "set-default-sink alsa_output.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-stereo"
pacmd "set-default-source alsa_input.usb-Logitech_Logitech_USB_Headset-00-Headset.analog-mono"

'pacmd' est assez facile à utiliser, lancez-le simplement depuis le terminal et entrez 'help' pour plus d'informations.

5
Veazer

J'ai eu une réponse similaire à celle de Sam Whitlock, sauf que je devais éditer le fichier default.pa dans ~/.config/Pulse. Il suffit d'ajouter le load-module module-switch-on-connect!

Utiliser Ubuntu 17.04 avec un casque Bluetooth JieLi AC4100/IQ Sound (via USB toutefois).

2
scoutchorton