Как разрабатывать приложения для просмотра видео на устройствах с Android Automotive OS

Категория видео появится в бета-версии Android Auto
Подайте заявку на добавление видеоприложения в Android Auto.

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

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

Чтобы указать, что ваше приложение предназначено для просмотра видео, добавьте атрибут android:appCategory="video" в элемент <application> манифеста.

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

Поддержка аудио во время вождения

Аудио во время вождения – бета-функция
Публиковать приложения, поддерживающие воспроизведение аудио во время вождения, могут только партнеры, получившие ранний доступ. Пока функция находится на этапе бета-тестирования, вы можете подготовить приложение к ее поддержке, следуя инструкциям в этом разделе.

Как правило, все видеоприложения должны приостанавливать воспроизведение, когда действуют ограничения на использование устройства, как описано в разделе Соответствие требованиям к безопасности вождения.

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

Оптимизированные для вождения элементы управления воспроизведением в приложении, которое поддерживает аудио во время движения.
Рисунок 1. Оптимизированные элементы управления воспроизведением для приложения, поддерживающего аудио во время вождения.

Укажите, что ваше приложение поддерживает воспроизведение аудио во время вождения

Чтобы указать, что приложение поддерживает воспроизведение аудио во время вождения, добавьте в манифест следующий элемент:<uses-feature>.

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

Поддержка фонового воспроизведения

Поскольку действия в приложении скрыты ограничениями системного интерфейса, оно должно поддерживать фоновое воспроизведение, чтобы аудио продолжало проигрываться во время вождения. Подробнее о том, как это сделать с помощью библиотеки 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.