Android Automotive OS 用の動画アプリを作成する

Android Automotive OS 向けに駐車中用のアプリを作成するに記載されているガイドラインに加えて、動画アプリに固有の要件がいくつかあります。

アプリを動画アプリとしてマークする

アプリが動画に対応していることを示すには、automotive_app_desc.xml という名前の XML ファイルをプロジェクトの res/xml/ ディレクトリに追加します。このファイルには次の内容が含まれています。

<automotiveApp>
  <uses name="video"/>
</automotiveApp>

次に、マニフェストの <application> 要素内に、XML ファイルを参照する以下の <meta-data> 要素を追加します。

<meta-data
  android:name="com.android.automotive"
  android:resource="@xml/automotive_app_desc"/>

運転中の音声をサポートする

運転中の音声はベータ版の機能です
運転中の音声をサポートするアプリの公開は、早期アクセス パートナーに限定されています。この機能はベータ版ですが、このセクションのガイダンスに沿ってアプリを準備することで、サポートを開始できます。

一般に、すべての動画アプリは、注意散漫防止の最適化済みアクティビティがないことを確認するで説明されているように、ユーザー エクスペリエンスの制限が有効になっているときに再生を一時停止する必要があります。

ただし、一部の車両では、ユーザー エクスペリエンスの制限が有効になっているときに、運転に最適化された再生コントロールを表示できるため、音声の再生を続行できます。

運転中の音声をサポートするアプリ向けの、運転に最適化された再生コントロール。
図 1: 運転中のオーディオをサポートするアプリ向けの、運転に最適化された再生コントロール。

アプリが運転中の音声をサポートしていることを申告する

アプリが運転中の音声をサポートしていることを示すには、マニフェストに次の <uses-feature> 要素を追加します。

<application ...>
    ...
    <uses-feature android:name="com.android.car.background_audio_while_driving" android:required="false">
    ....
</application>

バックグラウンド再生をサポートする

アプリのアクティビティはシステムの UX 制限によって非表示になるため、運転中に音声の再生を続けるには、アプリがバックグラウンド再生をサポートしている必要があります。Media3 ライブラリを使用してこの処理を行う方法については、MediaSessionService によるバックグラウンド再生をご覧ください。

アプリには、アプリの MediaSession を含む MediaStyle 通知を投稿する必要があります。MediaSessionService を使用している場合、これはデフォルトで処理されます

サポートを確認する

デバイスが運転中のオーディオをサポートしているかどうかを確認するには、androidx.car.app:app ライブラリの CarFeatures クラスを使用します。

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

この情報を使用して、アプリを実行するデバイスの機能に応じてアプリの動作を変更します。運転中の音声をサポートしていないデバイスでも、アプリは DD-2 のガイドラインを満たす必要があります。

運転中の音声をテストする

実装をテストするには、運転中の音声をサポートするエミュレータ イメージを使用して運転をシミュレートできます。

よくある質問

Widevine DRM はサポートされていますか?

はい、Android Automotive OS では Widevine DRM L3 がサポートされています。