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

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

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

アプリが動画アプリであることを示すには、マニフェストの <application> 要素に android:appCategory="video" 属性を追加します。

<manifest ...>
    ...
    <application
      ...
      android:appCategory="video">
        ...
    </application>
</manifest>

運転中のオーディオをサポート

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

一般に、すべての動画アプリは、ドライバーの注意散漫に関する要件を満たすで説明されているように、ユーザー エクスペリエンスの制限が有効なときに再生を一時停止する必要があります。

ただし、一部の車両では、ユーザー エクスペリエンスの制限が有効な間も運転に最適化された再生コントロールを表示できるため、オーディオの再生を継続できます。

運転中のオーディオをサポートするアプリ向けに最適化された再生コントロール。
図 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 がサポートされています。