👌
GoogleMeetのマイクをアプリケーション外から操作するには(Mac)
背景
GoogleMeet をサブディスプレイに写しつつ、メインディスプレイで作業していたりすると
マイクの On/Off の切り替えをするためだけにブラウザを切り替える必要があり、楽にできないかなぁと思ってました
Alfred や Raycast などのランチャー、もしくはショートカットキーに登録しマイクを操作できるといいなぁ、と考え
解決策を探ってみた記事です。
案 1 マイクレベルを操作
macOS レベルでマイクの入力レベルでコントロールする
osascript -e "set volume without output muted"
osascript -e "set volume with output muted"
確かに、マイクの Input レベルをコントロールできている、が
Input レベルが 0 なだけで、Mute
かUnmute
かでいうとUnmute
な状態と判定されるため、
普通に声が漏れる。だめ
案 2 Selenium
GoogleMeet の場合、マイクのトグルはショートカットで提供されている
そこで、Selenium で対象のブラウザを URL で探し出し、ショートカットキーを送信すれば
トグルが実現できるはず。
操作するためには、ブラウザに Selenium WebDriver が読み込まれた状態でブラウザを起動する必要がある
しかし、GoogleMeet の操作のためだけに普段使いするブラウザに WebDriver をいれっぱなしにするのはどうかと思うので諦め
案 3 HID
GoogleMeet に新機能として、HID 経由でマイクを操作できる機能(通話コントロール)がついかされていた。これだ!
何故か外部キーボードしかだめで、Mac 内蔵キーボードは無視されている。
そこで、仮想的に HID を作成し(Karabiner の仮想キーボードのように)、それを通じて Mute コマンドを送信する。
おわり
正直微妙な解決策しかない orz
Discussion