web-dev-qa-db-fra.com

désactiver les haut-parleurs intégrés sans couper les haut-parleurs / écouteurs de sortie externe de la ligne de commande

Je cherchais une réponse à cela et je n'en ai pas trouvé. J'essaie de couper/réactiver les haut-parleurs intégrés de mon ordinateur à partir de la ligne de commande sans affecter les haut-parleurs externes connectés à la prise de sortie de la carte son.

Jusqu'à présent, j'ai trouvé ces commandes pour désactiver/réactiver le son à partir de la ligne de commande, mais les deux commandes désactivent/désactivent également le son des haut-parleurs externes:

pactl set-sink-mute 1 0

amixer sset Speaker mute

J'utilise Ubuntu 13.10 sur un Dell optiplex 760 Pentium 4

Le périphérique récepteur 0 est la sortie audio HDMI de la carte vidéo nVidia, mais je ne suis pas intéressé par celui-ci pour ce script.

Il semble que le récepteur 1 contrôle à la fois les haut-parleurs intégrés et les haut-parleurs de sortie externes. Je ne trouve pas de moyen de distinguer les deux. Des idées?

Si vous avez besoin de plus d'informations pouvant me diriger vers une solution, veuillez me le faire savoir.

2
nanjiro

Depuis l'interface ligne de commande de pulseaudio, vous pouvez lister tous les puits (comme dans les "endroits où le flux sonore disparaît") comme ceci:

pactl list short sinks

0 alsa_output.pci-0000_02_00.1.hdmi-stereo   module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 alsa_output.pci-0000_00_1b.0.iec958-stereo module-alsa-card.c s16le 2ch 44100Hz RUNNING

Maintenant, vous pouvez travailler avec les éviers séparés et avoir tous les détails.

Vous pouvez utiliser le nom complet de l'évier comme argument:

`pactl set-sink-mute alsa_output.pci-0000_00_1b.0.iec958-stereo toggle`


Vous pouvez à la place du nom long, utilisez le numéro d'index figurant devant le nom (1):

Toggle mute, c'est-à-dire basculer entre le son et le désactiver:
pactl set-sink-mute 1 toggle

Switch mute on, c'est le son désactivé:
pactl set-sink-mute 1 1

Switch mute off, c'est le son activé:
pactl set-sink-mute 1 0


Voir pactl help ou man pactl pour plus d'options.

2
Volker Siegel