オンライン会議でミュートしたり、スピーカーをオフにしたり

自分は年に10回程度くらいしか出社していない生活を2年くらい送っており、普段の会議は全てオンラインで行われている。
本業に関しては、チャットは Slack がメインではあるが、会議については Microsoft Teams でやることが多いという状況。
(※ Teams はヘイトを集めているようだけど、個人的にはオンライン会議だけするのであればまあそんなに辛さを感じない。チャットツールとしては終わってると思ってるが。)

ちなみにPCを中心とした作業環境はこんな感じにしている

そんな中自分は、リーダー業務をしているため、発言機会も多く頻繁にミュートしたり、ミュート解除したりしていたのが面倒に感じていた。
また、自分の環境は上記にもある通り音を外部のディスプレイのスピーカーから出しててこれをオフにしたいこともたまにありそれにも煩わしさを感じていた。

そこで、それぞれをグローバルなショートカットキーでできるようにしたのでそのメモ

ミュートの切り替え

昔も Microsoft Teams Meeting プラグイン を検討したことがあったのだがその時には 新しいTeams には対応していなかった。
ソースコード をみるとどうやら、2ヶ月前くらいに対応されたみたいなので導入してみた。

プラグインのページにも書かれている通り、以下のようなことができるらしく、今回はマイクのミュートにショートカットキーを Raycast で登録することにした。

ちなみに余談ではあるのだが、どうやって操作しているのか気になって、 meetingClientV2.ts を見に行ってみたら websocket でメッセージを送っているようだった。
この辺の仕様書があるのかなと思いきやなんと作者不明の非公式な Microsoft Teams WebSocket API しか見つからず、実は多くのツールがこの仕様書に依存していることを Reddit やフォーラムなどで知ったのであった。

どうやらいろんな記事などの流れを見るに、 Stream Deck 用に作られた API のようだった。

部ディスプレイのスピーカーの切り替え

自分は LG の 34WP88C-B を使っていて、どうやらディスプレイの下についてる物理ボタンでしかスピーカーをオンにしたりオフにしたりできないことを知ってしばらく面倒だなーと思っていた。
今回オンライン会議の環境を見直すにあたって再度いろいろと調べたところ MonitorControl を見つけて導入した。

グローバルなショートカットキーなども設定できるためそれを設定して実際にちゃんと動作することを確認することができた。
他にも明るさとかも設定できるようで

Most modern LCD displays from all major manufacturers supported implemented DDC/CI protocol via USB-C, DisplayPort, HDMI, DVI or VGA to allow for hardware backlight and volume control.

とのことでこの辺のプロトコルについてはそのうち気が向いたら調べたいなーとなったのである。
(せっかくなら Raycast のプラグインで欲しいしね)