Помимо рекомендаций, приведенных в статье Как разрабатывать приложения для Android Automotive OS, которые можно использовать, когда автомобиль припаркован, существуют требования, относящиеся непосредственно к видеоприложениям.
Как отметить приложение как видеоприложение
Чтобы указать, что ваше приложение предназначено для просмотра видео, добавьте атрибут android:appCategory="video" в элемент <application> манифеста.
<manifest ...>
...
<application
...
android:appCategory="video">
...
</application>
</manifest>
Поддержка аудио во время вождения
Как правило, все видеоприложения должны приостанавливать воспроизведение, когда действуют ограничения на использование устройства, как описано в разделе Соответствие требованиям к безопасности вождения.
Однако в некоторых автомобилях, когда действуют ограничения на использование функций, можно показывать элементы управления воспроизведением, оптимизированные для вождения, и продолжать воспроизводить аудио.
Укажите, что ваше приложение поддерживает воспроизведение аудио во время вождения
Чтобы указать, что приложение поддерживает воспроизведение аудио во время вождения, добавьте в манифест следующий элемент:<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.