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.
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.