私はLinux Mint 19.1を実行しており、マイクをミュートおよびミュート解除するスクリプトにショートカットを割り当てたいと思います。単一の入力に対してこれを行う多くのソリューションが見つかりました。
amixer set Capture toggle
pactl set-source-mute $source_number toggle
しかし、私はさまざまな入力(内蔵マイク、Bluetoothヘッドフォン、有線ヘッドフォン)を切り替えるときにすべての入力を同時にオン/オフできるデバイスを好みます。これは、すべてがオンになっているか、すべてがオフになっていることを意味し、一方がオンになり、もう一方がオフになる危険はありません。
気象がわからない場合、または割り当てられたソース番号が一定であるかどうかはわかりません。pactl
マイクを42回再接続したり、別の(Bluetooth)デバイスを接続したりしても、安定して動作するソリューションが必要です。
システムが使用するソースを取得するコマンドはありますか(システムと同じZoomなど多くのアプリケーションを参照)?
その場合は、コマンド/スクリプトを実行するときにそのデバイスの状態を取得することに関連するすべてのデバイスの状態を反対の状態に設定したいと思います。
これを行う方法について提案がありますか?
答え1
これはあなたの質問に対する答えではありませんが、うまくいく
pactl set-source-mute @DEFAULT_SOURCE@ toggle
現在使用しているマイクを切り替えるか、
pactl set-source-mute @DEFAULT_SOURCE@ 1
トグルの代わりにミュート
答え2
awkを使用すると、すべての入力を見つけて繰り返すことができます。
pactl list short sources | awk '/input.*RUNNING/ {system("pactl set-source-mute " $1 " toggle")}'
注:後でマイクを接続して一部のデバイスをミュートした場合、ミュート状態が他のデバイス間で同期されないことがあります。