Scribble at 2022-01-08 12:10:09 Last modified: unmodified
rundll32.exe Shell32.dll,Control_RunDLL Mmsys.cpl,,1 というショートカットでサウンドのプロパティを出すところまではやったのだが、やはり特定のマイクのステータスをワンクリックかホット・キーで toggle したい。そうなると、PowerShell でコマンドレットを書くしかないのだろうかと思って、少し調べてみたら、SoundVolumeView というフリーソフトが出ていて、これをパラメータ付きで実行すると、コマンドラインとして処理されて、特定のマイクの状態をコントロールできるようだ。また、同じ作者がリリースしている NirCmd というコマンドライン専用のプログラムに、
mutesubunitvolume [Device Name] [Subunit Name] [mute mode]
というフォーマットでコマンドを送ると、目当てのマイクだけ操作できるようだ。素晴らしい。PowerShell のコードもいくつか見てみたが、あまりにも面倒臭い処理をしていてウンザリである。こちらの方がスマートでいいな。
とりあえず SoundVolumeView をダウンロードしてアーカイブを展開して起動すると、サウンド関連のデバイスが全て表示される。デバイスごとに制御できるため、年末に買ったマイクと、玄関付近に設置してあるマイクとを両方ともデバイスとして有効にしてから、それぞれのマイクに右クリックで展開できるメニューから「デスクトップにショートカットを作成」→「ミュート/解除を切替」を選択して、toggle 用のショートカットを作成する。これらを Orchis にデスクトップからドラッグして登録すると、上記のようになり、きちんとマイクを toggle してくれることが確認できた。素晴らしい。