カタカタカタ・・・

マイケル
〜〜〜〜♪♪
ヘッドホン「〜〜〜♪♪」

エレキベア
今日もヘッドホン付けて作業クマか

マイケル
・・・ん???

エレキベア
腹立つクマね〜〜〜
聞こえてなかったクマか
聞こえてなかったクマか

マイケル
ごめんごめん!
スピーカーに変えるかな〜・・・。
スピーカーに変えるかな〜・・・。
\ポチッ/


\ポチッ/

アレクサ「〜〜〜♪♪」

エレキベア
・・・。

マイケル
これ毎回変えるのめんどくさいよね〜〜〜

エレキベア
自動化するクマ

マイケル
???

エレキベア
自動化するクマ!!!

マイケル
うお!びっくりした!!
自動化好きなクマだな〜〜〜〜〜
自動化好きなクマだな〜〜〜〜〜

エレキベア
めんどくさいことは全て自動化するクマよ

マイケル
でも確かにこのめんどくささはどうにかしたいかも・・・!
いっちょやったるか!!
いっちょやったるか!!

エレキベア
やったるクマ〜〜〜!!
shellコマンドでの切替

マイケル
というわけで調べてみたところ、
MACでは「switchaudio-osx」を使うことで
簡単にオーディオ出力を変更できることがわかりました!
MACでは「switchaudio-osx」を使うことで
簡単にオーディオ出力を変更できることがわかりました!

マイケル
これを使えばわざわざシステム環境設定を開かなくても
出力を変えることができるかもしれません!
出力を変えることができるかもしれません!

エレキベア
これでイライラせずにすむクマ〜〜〜〜

マイケル
さっそく使ってみよう!!

エレキベア
やったるクマ!!
switchaudio-osx のインストール

マイケル
まずはbrewコマンドで「switchaudio-osx」をインストールします!
brew install switchaudio-osx

エレキベア
簡単1コマンドクマ〜〜〜〜
switchaudio-osx の使い方

マイケル
switchaudio-osx の使い方は下記になります!
・リスト取得コマンド
SwitchAudioSource -a
・接続コマンド
SwitchAudioSource -t output -s "【接続デバイス名】"


マイケル
まずは出力可能なデバイスのリストを確認して・・・


マイケル
接続したいデバイスを記述!

マイケル
こんな感じで出力を切り替えることができます!

エレキベア
これは期待通りのコマンドクマね
スクリプトの作成

マイケル
このコマンドを使って、
選択肢から数字で選んで切り替えるスクリプトを作成してみました!
選択肢から数字で選んで切り替えるスクリプトを作成してみました!
#!/bin/bash
select output in "【接続デバイス名1】" "【接続デバイス名2】" "【接続デバイス名3】"
do
if [ -z "$output" ]; then
echo "<-- No Device -->"
break
fi
echo "<--Switch $output -->"
SwitchAudioSource -t output -s "$output"
echo "<-- Complete -->"
break
done
# 終了待機
sleep 3

マイケル
「【接続デバイス名】」のところは各自の環境に合わせて書き換えてくださいね!

マイケル
実行結果は以下になります!

↑接続したいデバイスが表示される

↑接続したいデバイスを選ぶと切り替わる

エレキベア
これで少し使いやすくなったクマね

マイケル
いちいち環境設定開くよりはこっちのが気持ちは楽だね!
ショートカットキーでの切替

マイケル
しかしもう一歩踏み込んで、
ショートカットキーで切り替えれるようにしてみましょう!
ショートカットキーで切り替えれるようにしてみましょう!

エレキベア
そんなことができるクマ?

マイケル
Macには標準で「Automator」というアプリが入っていて、
シェルコマンドの実行などをサービスとして登録することができるんだ!
シェルコマンドの実行などをサービスとして登録することができるんだ!

マイケル
Automatorで作ったサービスをショートカットキーに登録することで、
いつでも呼び出すことができるというわけさ!
いつでも呼び出すことができるというわけさ!

エレキベア
なるほどクマ・・・!
それはうまく使えば可能性は無限大クマね
それはうまく使えば可能性は無限大クマね

マイケル
さっそく作ってみよう!!
Automatorでのサービス作成

マイケル
まずはAutomatorでサービスを作りましょう!


マイケル
Automatorは「その他」の中から起動します。


マイケル
起動したら 新規作成 -> クイックアクション でサービスを作成します!


マイケル
ワークフローが受け取る項目: 入力なし
を選択して、左側のアクションから シェルスクリプトを実行 を追加します!
を選択して、左側のアクションから シェルスクリプトを実行 を追加します!

マイケル
そして下記スクリプトを記述します!
export PATH=$PATH:/usr/local/bin
SwitchAudioSource -t output -s "【接続デバイス名】"

エレキベア
オーディオ切り替えのスクリプトを登録しているクマね

マイケル
その通り!
それとAutomatorのシェル実行では、インストールしたコマンドは読み込まれないため
exportコマンドの記述も忘れないようにしましょう!
それとAutomatorのシェル実行では、インストールしたコマンドは読み込まれないため
exportコマンドの記述も忘れないようにしましょう!

エレキベア
承知クマ〜〜〜

マイケル
あとはこのサービスを保存して、
切り替えたいデバイスの数だけサービスを作成しましょう!
切り替えたいデバイスの数だけサービスを作成しましょう!
ショートカットキー登録

マイケル
サービスを作成したらあとはショートカットキーを登録するだけ!
システム環境設定 -> キーボード -> ショートカット
を開くと、先ほど登録したサービスが並んでいるはずです!
システム環境設定 -> キーボード -> ショートカット
を開くと、先ほど登録したサービスが並んでいるはずです!


マイケル
上記のように登録したいショートカットキーに選択しましょう!

エレキベア
できたクマ〜〜〜〜!!

マイケル
他のショートカットキーと被らないよう、
なるべく複雑なキーを設定するといいでしょう
なるべく複雑なキーを設定するといいでしょう

エレキベア
あまり複雑なキーだと面倒だから悩みどころクマね
おわりに
ヘッドホン「〜〜♪♪」

マイケル
ポチッ
アレクサ「〜〜〜♪♪」

エレキベア
だいぶ楽になったクマね

マイケル
コマンド一つで変えれるのはいいね!
自分で仕組みを作ったとなるとなおさら使ってみたくなるしね〜〜
自分で仕組みを作ったとなるとなおさら使ってみたくなるしね〜〜

エレキベア
やはり自動化は最高クマ・・・

マイケル
(いつから自動化にハマったんだ・・・)

マイケル
とりあえず今日はこの辺で!
アデュー!!!
アデュー!!!

エレキベア
自動化クマ・・・・・。。
【shell】ショートカットキーでオーディオ出力を切り替える【MAC】 〜完〜
コメント