(:3[kanのメモ帳]

個人ゲーム開発者kan.kikuchiのメモ的技術ブログ。月木更新でUnity関連がメイン。

(:3[kanのメモ帳]


本ブログの運営者kan.kikuchiが個人で開発したゲームです!


Unityの再生/停止に合わせてApple Musicを自動停止/再開するエディタ拡張【Unity】【エディタ拡張】【Mac】


このエントリーをはてなブックマークに追加



この記事でのバージョン
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を実行