なぜホットキーを作成するのか
OBS Studio と Black Hole を使って、画面の収録をできるようにしたのだが、
音声出力先を毎回切り替えるのが面倒になり、ホットキーで切り替えたいと考えたからです。
ホットキーの作成のやり方
Keyboard Maestro のマクロで実現しています。
また、音声出力切替はswitchaudio-osxを使用しておりますので、あらかじめターミナル上で、
brew install switchaudio-osx
を実行しインストールしておきます。
ターミナルで、
SwitchAudioSource -a -t output
次にKeyboard Maestro で次のようにマクロを組めばOKです。
↓最後のExecute text script
のところ、コピペ用
if [[ "$KMVAR_deviceName" == *"MacBook Air"* ]]; then
deviceName=$(/opt/homebrew/bin/switchAudioSource -a | grep "MacBook Airのスピーカー")
else
deviceName="$KMVAR_deviceName"
fi
/opt/homebrew/bin/switchAudioSource -s "$deviceName"
ハマったポイント
普通は、最後のExecute text script
のところは、
/opt/homebrew/bin/switchAudioSource -s "$KMVAR_deviceName"
だけで良いと思うのですが、これだと"MacBook Airのスピーカー"に切り替えられなくなる現象が発生します。
再現するには、Execute text script
のところ、
/opt/homebrew/bin/switchAudioSource -s "$KMVAR_deviceName"
/opt/homebrew/bin/switchAudioSource -a -t output
として、Runを実行します。
すると、なぜか"MacBookAirのスピーカー"を選択したときだけ、「見つからないよ」と怒られる。
なので、一度音声出力一覧を吐かせて、そこからデバイスネームを取得するようにしました。
(おわり)