コマンド一発で音声の入出力を変更できるようにした
いつもbluetoothイヤホンとMacを接続して仕事をしており、 電池がなくなったら直挿しのイヤホンに切り替えています。
そのたびに設定 > サウンドを開いてあーだこーだするのが面倒だったので 一発で変更できないかを調べたところ、switchaudio-osxを利用した記事が結構みつかったので試してみました。
インストール
Homebrewを利用してインストールします。
brew install switchaudio-os
音声出力一覧
SwitchAudioSource -aで使用可能なデバイスが一覧表示されるので、ここから使用したいものを選びます。
SOUNDPEATS TrueAir2 Capture Inactive 外部マイク MacBook Proのマイク SOUNDPEATS TrueAir2 DELL S2421HS RDT231WLM 外部ヘッドフォン MacBook Proのスピーカー
出力先を変更する
たったこれだけで
SwitchAudioSource -s 外部ヘッドフォン => output audio device set to "外部ヘッドフォン"
かわった! 設定 > サウンド を見ても変わっていることが確認できました。
エイリアスをはる
# sound # !brew install switchaudio-osx! alias sci='SwitchAudioSource -s 外部ヘッドフォン' alias scb="SwitchAudioSource -s 'SOUNDPEATS TrueAir2'"
これでsciと叩けば外部ヘッドフォンに出力先が変わるように! scbはbluetoothに切り替える用です。
ただこれだと入力先が変わらなかったので、関数にして処理を足しました。
# sound # !brew install switchaudio-osx! function sci() { SwitchAudioSource -s 外部ヘッドフォン; SwitchAudioSource -t input -s 外部マイク; } function scb() { SwitchAudioSource -s 'SOUNDPEATS TrueAir2'; SwitchAudioSource -t input -s 'SOUNDPEATS TrueAir2'; } alias sci='sci' alias scb='scb'
-sはデフォルトで出力先を変えるようになっているので、 入力先を変えるには -t(type) で input を指定してあげる必要がある。
$ scb => output audio device set to "SOUNDPEATS TrueAir2" => input audio device set to "SOUNDPEATS TrueAir2"
いい感じ。