À partir du script bash, jouez le son via les haut-parleurs internes tout en les laissant effectivement désactivés, sinon

0

J'ai déjà posé une question similaire plus tôt, mais Kamil Maciorowski a correctement et judicieusement fait remarquer que, tel que posté, ce n'était pas vraiment le seul problème qu'il semblait être, mais un amalgame de 3. J'ai donc supprimé le système défectueux et la question. Je recommence avec une nouvelle installation de Lubuntu, l'actuelle. Hors de la boîte, si j'active les écouteurs Bluetooth, le son est lu par eux et non par les haut-parleurs internes. Si j'éteins le casque, le son est automatiquement lu via les haut-parleurs.

Ce que je préférerais, c’est de ne jamais envoyer de son aux haut-parleurs, à moins que je ne leur envoie explicitement la sortie d’une commande spécifique. Par exemple, pseudocode: aplay /path/fire-alarm.wav -o speakerset si tous les autres sons sont écoutés au casque, sinon pas du tout.

S'il n'y a pas de disposition directe pour ce type de politique, je me demande s'il y a un moyen de tromper le système en lui faisant voir / dev / null comme un puits audio toujours disponible et toujours disponible, qui est le deuxième en ligne après les écouteurs et en avance. des haut-parleurs internes. Cela, en conjonction avec un "jouer ce son via la commande des haut-parleurs" devrait le faire.

Si aucune de ces solutions n’est possible, les commandes de désactivation et d’activation des haut-parleurs sans affecter la fonction du casque et sans réenregistrement servent presque aussi bien cet objectif, à condition que quelque chose dans l’architecture sonore de Linux byzantine ne décide pas spontanément "Oh, vos haut-parleurs sont éteint, je vais arranger ça pour vous. "

Ce n'est pas la même chose que simplement dire que le casque Bluetooth devrait être le casque par défaut. C'est comme ça maintenant. Si je regarde "Debbie Does Dubai" et que les écouteurs deviennent hors de portée ou tombent en panne de jus, ou si je leur échappe du doigt en essayant d'ajuster leur position physique, je ne veux pas que le son se mette automatiquement à sortir des orateurs.

Ce que je recherche, c’est une politique qui n’envoie rien aux orateurs à moins que je ne lui dise explicitement d’envoyer un flux particulier là-bas, puis n’envoie qu’un moyen de script permettant de désactiver et d’activer les orateurs sans se reconnecter.

palidin
la source

Réponses:

0

PULSE_SINK = <nom_sonde> un programme

Vous pouvez obtenir une liste des "nom_versaire" disponibles auprès de:

LANG=C pactl list | grep -A2 'Sink #' | grep Name: | cut -d" " -f2
TheCompWiz
la source
Génial. En attendant, j'ai trouvé des commandes pour désactiver et réactiver les haut-parleurs: pactl set-sink-mute 0 1& pactl set-sink-mute 0 0. Je les mets en sourdine dans un script de démarrage et dans le script que je veux jouer via spkrs, je vais réactiver le son, utiliser votre commande et remuter. Pas exactement ce que je cherchais, mais assez près. Dans mon cas d'utilisation réel, la différence importera rarement. Merci.
Palidin