この記事でのバージョン
Unity 6000.0.34f1
はじめに
好きな音楽を掛けながらゲーム開発をしていると、
ゲームを再生した時にゲームの音と重なってしまうみたいな事があります。
今回はそんな問題を解決する
「Unityの再生/停止に合わせてApple Musicを自動停止/再開する」
というエディタ拡張の紹介です!なお、Mac&Apple Music限定です。
![]() |
Unityの再生/停止に合わせてApple Musicを自動停止/再開する」
早速ですが、Unityの再生/停止に合わせてApple Musicを自動停止/再開する事が出来る、
AppleMusicAutoPauseのコードは以下の通りです。
これをEditorフォルダにいれるだけで準備完了。
![]() |
なお、最初の実行時に以下のようなポップアップが出るので、許可を押します。
![]() |
実際にUnityを再生してみるとログが出て、Apple Musicが停止し、
Unityを止めれば再開されるはずです。(ログは確認のためのやつなので、消しても大丈夫です)
![]() |
もちろん、Unity再生時にApple Musicが再生されてなければ再開される事もないですし、
そもそも、AppleMusicが起動してなかったり、
Unityのエディタがミュートになっている場合は処理をしません。
(なのでUnity再生中もApple Musicを流し続けたい時はUnityをミュートすればOK)
![]() |
さらにTools/Apple Music Auto Pause/Enableを押して、チェックを外す事で無効にもする事も出来ます。
![]() |
一応コードの各箇所についてもざっくり解説すると以下のような感じ。
- EditorApplication.playModeStateChanged : Unityの再生/終了を検知
- EditorUtility.audioMasterMute : Unityのミュート状態を確認
- AppleScript : macOSに標準搭載されているスクリプト言語、Apple Musicの操作も出来る
- Osascript : ターミナルからAppleScriptを実行するコマンド
- Process : 外部プログラムを起動し、標準出力やエラー出力を扱うC#のクラス。これでOsascriptを実行