Pour passer à la sortie audio HDMI (du moniteur) et revenir à la sortie audio normale de la prise audio du système (pour les écouteurs, car mon moniteur n'a pas de sortie audio), je me retrouve à ouvrir les préférences sonores et à sélectionner le bon canal à chaque fois. Existe-t-il un moyen de créer un bouton à bascule dans le panneau ou d'attribuer une touche de raccourci à bascule, car je change si souvent.
:aplay -l
**** List of PLAYBACK Hardware Devices ****
card 0: Intel [HDA Intel], device 0: STAC92xx Analog [STAC92xx Analog]
Subdevices: 1/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 3: HDMI 0 [HDMI 0]
Subdevices: 0/1
Subdevice #0: subdevice #0
card 0: Intel [HDA Intel], device 7: STAC92xx Digital [STAC92xx Digital]
Subdevices: 1/1
Subdevice #0: subdevice #0
sound
software-recommendation
iJeeves
la source
la source
Réponses:
Avec pulseaudio, nous pouvons sélectionner le récepteur de sortie à partir de la ligne de commande:
Cette commande peut être utilisée dans un lanceur, un script ou même affectée à un raccourci clavier pour basculer rapidement entre différents récepteurs. Veuillez remplacer "SINKNAME" par le nom ou le numéro de l'évier souhaité. Une liste des puits connus avec leurs numéros et noms associés est donnée par la commande:
Remarque: La modification du récepteur de sortie via l'interface de ligne de commande ne peut prendre effet que si la lecture du périphérique cible de flux est désactivée. Cela peut être fait en modifiant la ligne correspondante dans
/etc/pulse/default.pa
:Alternativement, nous pourrions exécuter pulseaudio pour émettre simultanément du son vers le périphérique audio interne et vers le périphérique hdmi en exécutant paprefs avec la possibilité d'ajouter un périphérique de sortie virtuel:
la source
pacmd set-default-sink "alsa_output.pci-0000_00_1b.0.analog-stereo"
etpacmd set-default-sink "alsa_output.pci-0000_00_1b.0.hdmi-stereo"
ne fonctionne qu'après avoir sélectionné le profil correspondant dans les préférences sonores. Si j'ai un ensemble HDMI et que j'exécute la commande pacmd pour la stéréo analogique, j'obtiens l'erreurSink alsa_output.pci-0000_00_1b.0.analog-stereo does not exist.
Mais si je sélectionne manuellement le profil dans l'interface graphique des préférences sonores et exécute la même commande, je n'obtiens pas l'erreur. Donc ça n'aide pas de changer.J'ai trouvé cela très ennuyeux moi-même et j'ai écrit un script pour basculer la sortie:
puis lié une touche inutilisée sur mon clavier pour l'exécuter (voir Comment lier des commandes personnalisées à des raccourcis clavier? )
la source
Encore un autre script de commutateur d'évier
testé sur Ubuntu 16.04
Mais celui-ci vous permet de basculer uniquement l'audio de l'application que vous souhaitez.
UTILISATION: Concentrez l'application dont vous souhaitez modifier le récepteur et exécutez ce script. C'est ça!!!
Ce script détecte l'application mise au point, recherche tous les fichiers audio en cours de lecture et les fait passer au récepteur disponible suivant.
https://gist.github.com/madacol/1a0d8569166886d2d98f073f7f5c5fe3
Expliquer le script
Nous devons trouver le PID de l'application sur le focus
Mais d'abord, nous avons besoin du xid
Insérez-le ici
$xid
pour obtenir le pid de l'applicationMaintenant, nous devons trouver les entrées de puits liées à ce PID
Commençons par linéariser la sortie de la commande
pacmd list-sink-inputs
pour répertorier une entrée de récepteur par ligne, en affichant son index, son récepteur et son pid sur la même ligneanalysons-le étape par étape:
grep -E 'index:|sink:|process.id
ne conserver que les lignes qui contiennentindex:
,sink:
ouprocess.id
tr '\n' ' '
rejoint toutes les lignestr -d '"'
supprime tous les"
caractères. Nécessaire pour obtenir le pid sans guillemetssed -e 's/index:/\n/g'
remplace toutes lesindex:
occurrences par un nouveau caractère de ligne\n
tail -n +2
supprime la première ligne car elle est videEt le résultat est quelque chose comme ceci:
Analysons une ligne pour comprendre ce que cela signifie:
182
est l'indice récepteur-entrée,0
est l'indice récepteur, et13752
à la fin, est le pid de l'application d'appartenanceEnsuite, nous parcourons chaque ligne
Enfin, ne filtrez que le pid de l'entrée du récepteur qui correspond au pid de l'application ciblée
Extraire des données
Avec
awk
nous pouvons obtenir les éléments dont nous avons besoinObtenez le nombre de puits, pour savoir quand la rotation des puits doit redémarrer à partir de 0.
Pour trouver le prochain puits, nous devons parcourir la liste des puits, pour savoir lequel correspond à current_sink_index et connaître l'indice du prochain puits.
Et enfin, nous déplaçons l'entrée de l'évier pour jouer dans next_sink_index
Remarque sur Ubuntu 16.04:
Lors de la configuration de la touche de raccourci, je n'ai pas pu le faire fonctionner avec le gestionnaire de raccourcis d'ubuntu. J'ai donc dû installer compizconfig-settings-manager
la source
Si vous utilisez Gnome Shell au lieu de Unity, vous pouvez installer l'extension ci-dessous. Vous pourrez alors passer du raccourci de volume dans le panneau supérieur. https://extensions.gnome.org/extension/142/output-device-chooser-on-volume-menu/
la source
Puisqu'il n'y a qu'une seule carte son visible dans la capture d'écran, je pense que la sortie de cette carte son devrait être changée.
Par exemple: j'ai un ordinateur portable avec une carte son intégrée, mais il a une sortie numérique (SPDIF) lorsqu'il est connecté.
Donc ce que je voulais faire, c'était changer la sortie active ou "Profile" dans pulseaudio.
J'ai trouvé les commandes qui font exactement cela:
Ce que j'ai fait pour obtenir les noms corrects pour le réglage de sortie souhaité - ici, la sortie numérique, mais l'entrée (micro) analogique - était:
la source
J'ai également essayé de trouver une solution à ce problème. Depuis Ubuntu 11.04, cela ne semble pas être possible directement, je n'ai trouvé que ce guide pour ajouter à la fois HDMI et Analogique en tant que sorties séparées, donc pacmd affiche maintenant 3 puits. Ensuite, il est possible de basculer entre les récepteurs en utilisant les commandes ci-dessus. ( voir aussi )
Mais apparemment Ubuntu 11.11 obtiendra un PulseAudio avec un système de détection de jack. Selon le site Web ci-dessous, David Henningsson a codé une détection via udev afin que l'audio pulsé soit automatiquement basculé sur la dernière sortie ajoutée, y compris la commutation entre différents profils de la même carte son (comme c'est le cas avec votre et ma configuration). (voir ici )
J'espère donc que cela fonctionnera, lorsque j'essaierai la version finale vendredi prochain.
la source
Sur la base de nombreuses réponses précédentes, j'ai écrit un script qui définit le récepteur de lecture en alternance entre ceux disponibles.
La meilleure façon de l'utiliser est de créer un raccourci clavier pour l'exécuter. Ainsi, chaque fois que vous appuyez sur cette combinaison de touches, l'audio est redirigé vers le prochain récepteur disponible.
Le code est disponible ici: https://gist.github.com/germank/7fa2fb07d45a838bf890addadd8bea8c
la source
Dans mon cas, les options analogiques n'étaient pas dans la liste. Installez pavucontrol:
sudo apt install pavucontrol
Pourrait résoudre le problème en démarrant l'application:
pavucontrol
(entrée)Maintenant je pouvais ici sonner et sélectionner différents profils (sous Linux Mint):
la source
Une alternative à Sound Switcher Indicator (qui nécessite l'ajout d'un PPA) consiste à créer une commande (ou un script) et à l'appeler avec un raccourci:
Dans mon cas, c'était le
hdmi-stereo-extra1+input
profil, donc sur une ligne il y aurait:Vous pouvez utiliser un raccourci personnalisé (
gnome-control-center keyboard
) pour l'exécuter avecbash -c
(vous avertira en cas de conflit avec un autre raccourci):J'utilise:
Vous pouvez également ajouter un
alias
à votre.bashrc
.Testé sur Ubuntu 16.04 et 18.04
Si vous ne souhaitez pas un comportement supérieur à un script, j'ai apporté quelques modifications en fonction de la réponse @ user829996:
la source
J'ai écrit une applet d'indicateur qui vous permet de changer la sortie audio.
la source