Создание видеоприложений для Android Automotive OS

В дополнение к рекомендациям, описанным в разделе Создание припаркованных приложений для Android Automotive OS , существуют некоторые требования, характерные для видеоприложений.

Отметьте свое приложение как видеоприложение

Чтобы указать, что ваше приложение поддерживает видео, добавьте XML-файл с именем automotive_app_desc.xml в каталог res/xml/ вашего проекта. В этом файле включите следующее содержимое:

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

Затем в элементе <application> вашего манифеста добавьте следующий элемент <meta-data> , ссылающийся на XML-файл:

<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 .

Ваше приложение должно публиковать уведомление MediaStyle , которое включает MediaSession вашего приложения. Если вы используете MediaSessionService , это обрабатывается для вас по умолчанию .

Определить поддержку

Чтобы определить, поддерживает ли устройство воспроизведение звука во время вождения, можно использовать класс CarFeatures из библиотеки androidx.car.app:app .

CarFeatures.isFeatureEnabled(context, CarFeatures.FEATURE_BACKGROUND_AUDIO_WHILE_DRIVING)

Используйте эту информацию для изменения поведения вашего приложения в зависимости от возможностей устройства, на котором оно запущено. На устройствах, которые не поддерживают аудио во время вождения, ваше приложение все равно должно соответствовать рекомендациям DD-2 .

Проверьте звук во время вождения

Чтобы протестировать свою реализацию, вы можете смоделировать вождение , используя образ эмулятора, который поддерживает звук во время вождения .

Часто задаваемые вопросы

Поддерживается ли Widevine DRM?

Да, Widevine DRM L3 поддерживается в Android Automotive OS.