最近のカーナビやカーオーディオには、Bluetoothによってスマートフォンの音楽を再生できる機能があります。スマホと接続すると自動的に再生を開始するものも多いですよね。
しかし、私のカーオーディオは古いのでBluetoothなどありません。
そのため、FMトランスミッターを使っています。
FMトランスミッターには自動再生機能が無いため、エンジンをかけるたびに「Bluetoothの接続を待つ→再生ボタンを押す」という動作が必要です。少しの手間なのですが、毎回やるのはかなり面倒です。
そこで、iPhoneの「ショートカット」アプリを使い、自動再生を疑似的に再現しようと試みました。
結果を先にいいますが、今回は部分的には成功しました。
詳しくは後述しますが、アプリの仕様によりBluetooth接続をトリガーとした自動再生の実行には毎回ユーザーの許可が必要なのです。
とはいえ、ミュージックアプリを開いていなくてもロック画面やほかのアプリの画面から再生を開始できるようになるので、かなり便利です。
この記事でできるようになること
iPhoneを特定の機器に接続したときに、音楽を再生するボタンが表示されるようになります。
あらかじめミュージックアプリを開いておく必要はありません。
ボタンは通知として表示されるため、ほかのアプリの画面からも操作できます。
また、特定のプレイリストをシャッフル再生するといった独自のルールを設定できます。
予備知識
「ショートカット」アプリとは?
iOSには「ショートカット」という公式アプリがあります。
このアプリでスマホの様々な操作を事前にプログラムしておくことで、一連の動作をボタン一つで自動的に実行できるようになります。
iPhoneとiPadの両方で利用可能です。
このアプリには「オートメーション」という機能もあります。
この機能を使えば、事前に設定した条件が満たされたときにショートカットを自動で実行できます。
今回の例で言えば「iPhoneがFMトランスミッターと接続する」という条件をトリガーとし、「音楽を再生する」というショートカットを自動実行するという流れになります。
▼公式ドキュメントはこちら▼
FMトランスミッターとは?
上図はイチオシのFMトランスミッター『Anker Roav F2』
FMトランスミッターとは、スマホとカーオーディオを無線でつなげる装置です。
下の模式図のように、スマートフォンからの信号をFMトランスミッターがFM電波に変換し、その電波をFMラジオで拾わせます。
スマホ ⇔(Bluetooth) FMトランスミッター (FM波)⇔ カーオーディオ
余談ですが、FMトランスミッターを購入されるなら、使用するFM周波数を自分で細かく設定できるものをおすすめします。
数個の周波数から選ぶタイプだと、他人のものと被って電波干渉が起きやすいので。
以下の記事では、ノイズが入りにくいFMトランスミッターをご紹介しています。
・耐久性・接続の安定性で選ぶ FMトランスミッターのおすすめ5+1選をレビュー
・【ノイズ・故障なし】FMトランスミッターを選ぶ5つのポイント
ショートカット(オートメーション)のレシピ
レシピの全体図は以下のとおりです。

オートメーションの設定は以下のようにしてください。

「日時」がトリガーとなる条件、「行う」が条件が満たされたときに実行されるショートカットを指します。
なお、”FM36″とは私が使用しているFMトランスミッターの名前です。
各動作の説明
ここでは各動作の説明をします。
公式ドキュメントもご覧いただくと、より分かりやすいと思います。
音量調整と待機
まず、iPhoneの音量を調節します。
次に、待機時間を入れています。

私はFMトランスミッターとFMラジオの音量を、iPhoneの音量を最大にした状態で調整しています。そのため、ショートカットの最初で音量を100%にしているのです。
ただし、iPhoneには各Bluetooth機器での音量を記憶する機能があるので、この動作は必須ではありません。
音量を100%にする動作を入れた場合、ショートカットの実行開始直後にBluetooth接続が切れると、音楽がiPhoneから大音量で鳴り響くことになります。
その危険性を最小限にするため、音量MAXの操作をショートカットの一番上に配置してあります。
こうすることで、もし実行後にBluetoothが切れたとしても「Bluetoothに接続→実行開始→Bluetoothに接続した状態で音量MAXに→Bluetooth切断→もとの音量に戻る」となるはずです。
待機時間を入れているのは、発進準備を終えて車が走り出したタイミングで音楽が始まってほしいからです。
待機時間は秒単位で指定できるのでお好みでどうぞ。もちろん、不要なら削除してもいいです。
ミュージックアプリを開く
ミュージックアプリを立ち上げます。

ここでいう「開く」とは、アプリを立ち上げてフォアグラウンドに持ってくることです。
例えば、フォアグラウンドでグーグルマップを使っている時にショートカットを実行すると、強制的にグーグルマップがバックグラウンドに移行し、入れ替わりにミュージックアプリがフォアグラウンドに来ることになります。
「ミュージックを開く」がなくてもショートカットは正常に機能します。
アプリの使用を中断されたくない方は、このアクションを削除してください。
現在の曲を取得
現時点で再生中の曲や一時停止中の曲を取得します。

条件分岐
条件分岐、いわゆるif文です。

「もし 現在の曲 値がない ならば」とは「もしも現時点で再生中の曲や一時停止中の曲がないならば」ということです。
YESなら指定されたプレイリストの曲を取得し、それらをシャッフル再生します。
「現在の曲」や「プレイリスト」はマジック変数として入力してください。
ちなみに、アクションの内容を変えればミュージック内の全曲の取得もできます。
その後で「ミュージックを検索」アクションを使えば、ミュージックビデオや特定のプレイリストを除外して取得するといったフィルタリングも可能です。
「もし 現在の曲 値がない ならば」がNOの場合のアクションはこちらです。

「その他の場合」(=NOの場合)とは「再生中の曲や一時停止中の曲がある場合」を指します。
この場合はそのまま再生を開始します。一時停止中の曲があれば続きから再生可能です。
似たようなアクションに「ミュージックを再生」というものがありますが、こちらは途中で一時停止されている曲であっても最初から再生するという違いがあります。
「次の場合に終了」は今回は必要ないので空欄のままにしてください。
ちなみに、素直に条件式を書くなら「もし再生中の曲や一時停止中の曲があるならば」と「その他の場合」に分けることになります。
当初はそのようにしていたのですが、一時停止中の曲が正しく認識されずに別の曲が再生されるという不具合が頻発したため、条件を反転させた今の形に改めました。
結果
今回、完全な自動再生は実現できませんでした。
Bluetooth接続が完了すると通知によってオートメーションを実行するかを尋ねられ、「実行」を選択しない限り再生は始まりません。
「そんなの意味無いじゃん」と思われたかもしれません。
しかし、ロックを解除して(または使用中のアプリから移動して)ミュージックアプリを開くという手間が省けて便利になりました。
「Siriを使えよ」と言われそうですが、同乗者の前で音声入力は使いにくくないですか? 私だけでしょうか。
なにより、ショートカットとオートメーションのいい勉強になります。
補足:オートメーションで自動実行できるもの・できないもの
オートメーションの自動実行について、Appleのホームページに以下の記述がありました。
以下のオートメーションは自動実行できます:
- 機内モード
- アラーム
- CarPlay
- おやすみモード
- 低電力モード
- NFC
- Appを開く
- Apple Watchワークアウト
以下のオートメーションは自動実行できません:
- 到着
- 出発する前
- Bluetooth
- 出発
- 時刻
- Wi-Fi
すなわち、Bluetooth接続をトリガーとしたオートメーションの自動実行は不可能ということです。
なぜこのような中途半端な仕様にしたのか分かりませんが、今後の改善を願います。
コメント