AirPlayディスプレイの接続と切断を自動化するスクリプト

AirPlayディスプレイの接続と切断を自動化する方法を解説します。

コピペで使えるスクリプトなので、気になる人は活用してください。

目次

動作確認の環境

  • MacBook Air M1 2020
    ∟ macOS Monterey 12.6
  • Apple TV 4K 2017
    ∟ tvOS 16.0(20J373)
  • iPad Pro 12.9 M1 2020
    ∟ iPadOS 15.7

使用するツール

「アプリケーション」→「ユーティリティー」の中

どうしても動かない時に使用するツール

「アプリケーション」の中

「アプリケーション」→「ユーティリティー」の中

AirPlay自動化の手順

すべてのMacに標準搭載されている「AppleScript」を使用して自動化します。

STEP
スクリプトを入力
tell application "System Preferences"
	activate
	set current pane to pane "com.apple.preference.displays"
end tell
delay 2
tell application "System Events"
	tell application process "System Preferences"
		repeat until exists window "ディスプレイ"
		end repeat
		tell pop up button 1 of window 1
			click
			click menu item "Apple TV 4K" of menu 1
			delay 2
		end tell
	end tell
end tell
tell application "System Preferences"
	quit
end tell

「スクリプトエディタ」を起動してコードをコピペする。

STEP
スクリプトを編集

12行目の”Apple TV 4K”の部分を自分の環境に合わせて変更。

Apple TVだけでなく、iPadにも接続可能です。

STEP
動作チェック

右上の再生ボタンを押して動作をチェック。

AirPlayに接続していない状態なら接続され、接続中なら切れます。

STEP
保存
  1. 「ファイル」から「保存」を選ぶ
  2. 適当な名前を付けて、保存先を好きな場所に変更
  3. ファイルフォーマットを「アプリケーション」にする
STEP
セキュリティ調整

アプリの初回起動時にアクセス権を要求するダイアログが表示されます。

「OK」を押して「設定」→「セキュリティーとプライバシー」を開く↓

作成したスクリプトにチェックを入れればOK。

STEP
アプリの動作チェック

アプリ化されたスクリプトを起動して、AirPlayのON/OFFができればOKです。

お疲れさまでした!

どうしても動かない時の対処方法

補助アクセスは許可されません」というセキュリティー警告が出て、アプリが起動できないことがあります。

症状としては「スクリプトエディタからは実行できるけど、アプリ化すると実行できない」です。

私もずっとこの問題に悩まされていたのですが、いつのまにかエラーが出ないようになっていました。

今では自然復旧して動かせているので、原因は不明です。

エラーが出続けて実行できない人は、次の手順を試してください。

手順
  • スクリプトエディタにコードをコピペ
    ∟ 最初の作業と同じ
  • スクリプトとして保存
  • ターミナルからテスト起動
  • Automatorからスクリプトの自動実行アプリを作成

やっていることはスクリプトを自動実行するだけで、この手法ならエラーを回避できます。


ちょっとややこしい作業ですが、Automatorを使えば応用で以下のようなこともできます。

  • 右クリックメニューから起動
  • Touch Barから起動

ここでは単純にアプリ化する手順だけ解説します。

STEP
スクリプトとして保存

「スクリプトエディタ」にコピペしたスクリプトをアプリケーションではなく、「スクリプト」として保存。

※12行目のApple TVデバイス名を自分の環境に合わせて変更すること。

スクリプトファイルは専用のフォルダを作成した方が良いです。

以下、「書類フォルダ」の中に「scripts」というフォルダを作成し、その中にスクリプトファイルを保存した例で解説します。

STEP
ターミナルから動作チェック

ターミナルを起動して、以下のコマンドを入力↓

cd Documents/scripts/
osascript airplay-test.scpt

太字の「airplay-test」は自分が保存したファイル名に変更してください。

STEP
セキュリティー調整

初回起動時にアクセス権を要求するダイアログが表示されます。

「設定」→「セキュリティーとプライバシー」を開き、「ターミナル」を許可。

STEP
Automatorからアプリケーションを作成

「Automator」を起動して「ファイル」→「新規」→「アプリケーション」を選択。

検索ボックスに「シェルスクリプトを実行」と入力し、ドラッグして右側にドロップする↓

STEP 2でテストしたコマンドをコピペして、右上の再生ボタンを押して動作チェック↓

初回だけAutomatorのセキュリティもONにする↓

「ファイル」→「保存」でアプリ名を付けて保存。

保存先はデフォルトだと変な場所に保存されるので、デスクトップなど自分がよく使う場所に保存するのがおすすめ↓

STEP
アプリの動作チェック

アプリを起動して、AirPlayのON/OFFができればOKです。

Automatorを使った応用

Automatorの新規ファイル作成時に「クイックアクション」を選択して作成すると、「右クリックメニュー」や「Touch Bar」の中にスクリプトを埋め込めます。

長くなるのでここでは解説しませんが、気になる人はチャレンジしてください。

よかったらシェアしてね!
目次