2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Qiita×Findy記事投稿キャンペーン 「自分のエンジニアとしてのキャリアを振り返ろう!」

[mac] 音声出力先を変更するホットキーを作成する方法

Posted at

なぜホットキーを作成するのか

OBS Studio と Black Hole を使って、画面の収録をできるようにしたのだが、
音声出力先を毎回切り替えるのが面倒になり、ホットキーで切り替えたいと考えたからです。

通常の音声出力先切替え: クリック数多くてだるい。。。

image.png
image.png

ホットキーの作成のやり方

Keyboard Maestro のマクロで実現しています。

また、音声出力切替はswitchaudio-osxを使用しておりますので、あらかじめターミナル上で、

brew install switchaudio-osx

を実行しインストールしておきます。
ターミナルで、

SwitchAudioSource -a -t output

と実行すると、音声出力先の一覧が得られます。
image.png

次にKeyboard Maestro で次のようにマクロを組めばOKです。
image.png

↓最後の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を実行します。
image.png
すると、なぜか"MacBookAirのスピーカー"を選択したときだけ、「見つからないよ」と怒られる。
image.png

なので、一度音声出力一覧を吐かせて、そこからデバイスネームを取得するようにしました。

(おわり)

2
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?