Настройка медиа

Медиа принадлежит набору системных приложений (например, Dialer и App Launcher). Эти приложения имеют общие стили и ресурсы, определенные на разных уровнях структуры AOSP.

  • framework/base . Здесь определяются все базовые стили Android.
  • packages/services/Car/car_product/overlay . Содержит наложения во время сборки, которые изменяют стандартные ресурсы платформы/базы для создания внешнего вида AOSP Android Automotive OS. OEM-производители могут исключить это наложение и использовать свое собственное.
  • packages/apps/Car/libs/car-ui-lib . Эта библиотека определяет компоненты и ресурсы AAOS, общие для системных приложений и отдельных приложений, предназначенных для настройки. Подробности см. в Руководстве по интеграции библиотеки Car UI .
  • packages/apps/Car/libs/car_app_common . Общие цвета и стили, используемые в автомобильных системных приложениях. OEM-производители могут использовать наложения для настройки этих элементов (аналогично описанному выше car_product/overlay ).
  • packages/apps/Car/libs/car_media_common . Содержит элементы, общие для Media и других мультимедийных пользовательских интерфейсов. Например, виджет «Медиа» на главном экране.
  • packages/apps/Car/Media. Все системные приложения используют свою собственную тему, которая является продолжением Theme.CarUi , как определено в car-ui-lib .

Android Automotive AOSP предоставляет две презентации мультимедиа.

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

Пользовательский интерфейс мультимедиа

На этом рисунке описана структура пользовательского интерфейса мультимедиа:

Медиа-интерфейс

Рисунок 1. Пользовательский интерфейс мультимедиа.

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

AppBarView: Панель инструментов

Панель инструментов мультимедийного пользовательского интерфейса — это компонент, общий с другими системными приложениями, такими как Dialer и Radio. Чтобы узнать, как настроить панель инструментов, см. Руководство по интеграции библиотеки пользовательского интерфейса автомобиля .

Максимальный размер изображения на носителе

Чтобы уведомить мультимедийные приложения о максимальном размере загружаемого изображения, вы можете наложить media_items_bitmap_max_size_px в своей системе. Для этого отправьте EXTRA_MEDIA_ART_SIZE_HINT_PIXELS в качестве корневой подсказки. В результате вы сэкономите трафик при загрузке изображений. Дополнительную информацию см. в разделе MediaConstants на сайте Developer.android.com.

Просмотр фрагмента

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

Минимизированное управление воспроизведением

Когда отображается фрагмент просмотра и когда выбран элемент мультимедиа, отображается свернутое представление элементов управления воспроизведением . На следующем рисунке показана структура этого представления:

Минимизированное управление воспроизведением

Рисунок 2. Свернутые элементы управления воспроизведением.

Просмотреть список

Разработчики могут использовать набор подсказок по стилю (см. «Применение стилей контента ») для настройки представления содержимого просмотра мультимедиа. OEM-производители должны придерживаться этих стилей, адаптируя представление к своей системе дизайна.

Поддерживаемые типы элементов и соответствующие макеты расположены следующим образом:

  • LIST_ITEM ( media_browse_list_item.xml ). Обычно используется для эпизодов подкаста, таких как элементы плейлиста и избранное.
  • ICON_LIST_ITEM ( media_browse_list_icons_item.xml ). Используется для категорий или пунктов меню, в которых изображение, включенное в элемент мультимедиа, является не обложкой альбома, а значком.
  • GRID_ITEM ( media_browse_grid_item.xml ). Обычно используется для воспроизводимых элементов, таких как песни или плейлисты.
  • ICON_GRID_ITEM ( media_browse_grid_icons_item.xml ). Используется для категорий, аналогично ICON_LIST_ITEM .
  • HEADER ( media_browse_header_item.xml ). Используется для организации медиа-элементов по разделам.

Экран воспроизведения

Чтобы отобразить этот экран, разверните свернутые элементы управления воспроизведением:

  • Медиа-элементы, воспроизводимые в данный момент (включая заголовок и субтитры).
  • Полное управление воспроизведением.
  • Очередь воспроизведения (используется для отображения недавно воспроизведенных или следующих элементов для воспроизведения).

Компоненты экрана воспроизведения обозначены на рисунках ниже.

Экран воспроизведения

Рисунок 3. Экран воспроизведения.

Экран воспроизведения не использует общую панель инструментов с остальной частью приложения. Вместо этого этот экран индивидуально управляет элементами в верхней части экрана.

Атрибуция форматирования аудио

Когда приложения устанавливают KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URI или KEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI в дополнительных функциях воспроизводимого в данный момент мультимедийного элемента. OEM-производители должны визуализировать соответствующий вектор, как указано в URI.

Большую версию значка «Формат контента» необходимо использовать в главном представлении воспроизведения. На вторичных представлениях, таких как меньшая панель воспроизведения, OEM-производители могут использовать уменьшенную версию значка «Формат контента» . ContentFormatView отображает оптимальный значок на основе атрибута logoSize .

Когда приложения устанавливают KEY_SUBTITLE_LINK_MEDIA_ID или KEY_DESCRIPTION_LINK_MEDIA_ID , OEM-производители должны отображать субтитры или описания таким образом, чтобы их можно было коснуться, а затем открыть представление «Обзор», чтобы отобразить связанный элемент мультимедиа при нажатии пользователем.

Элементы управления воспроизведением

Экран «Воспроизведение» включает расширенный набор элементов управления воспроизведением, организованных в ряды элементов управления . Вторичная строка (отображаемая ниже как строка вверху) отображается только в том случае, если места в первой строке недостаточно для отображения всех действий, возвращаемых мультимедийным приложением из PlaybackStateCompat#getActions() .

Элементы управления воспроизведением

Рисунок 4. Элементы управления воспроизведением.

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

Медиа-виджет на главном экране

Этот виджет реализован как фрагмент в car-media-common . Этот фрагмент включает в себя уменьшенную версию экрана воспроизведения, описанного выше. Применяются все те же правила и возможности настройки.

Медиа-виджет на главном экране

Рисунок 5. Медиа-виджет на главном экране.

Кнопка выбора приложения, показанная выше, использует функцию переключения, описанную в разделе «Последовательность действий пользователя при переключении источника мультимедиа ».

Чтобы использовать текущий значок источника мультимедиа для кнопки выбора приложения, наложите флаг use_media_source_logo_for_app_selector , определенный в platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml и установите для него значение true . Благодаря этому изменению значок источника мультимедиа на противоположной стороне панели инструментов приложения будет скрыт. Настройка также применима к приложению Media Center и эталонному приложению Radio.

Кнопка выбора мультимедийного приложения

Рисунок 6. Кнопка выбора медиа-приложения.

Расположение кнопок «Воспроизведение», «Пауза» и «Стоп»

Расположение кнопок «Воспроизведение/Пауза/Стоп» можно настроить для отображения «Сейчас воспроизводится» и свернутого просмотра элементов управления воспроизведением. Оба макета определены в packages/apps/Car/libs/car-media-common/res/layout/ .

Чтобы настроить макеты кнопок, примените наложения времени сборки к play_pause_stop_button_layout.xml и minimized_play_pause_stop_button_layout.xml .

Выделить текущий элемент в очереди воспроизведения

Текущему элементу очереди воспроизведения присвоено состояние selected , поэтому его можно настроить с помощью ресурсов состояния, таких как списки состояний цвета (см . Ресурс списка состояний цвета ) и рисуемые списки состояний (см. Ресурсы, доступные для рисования ). Чтобы применить необходимые изменения стиля, вы можете переопределить макет элемента очереди packages/apps/Car/Media/res/layout/queue_list_item.xml или отдельный файл.

Вы также можете отобразить значок рядом с текущим элементом очереди воспроизведения:

  • Наложите логический флаг show_icon_for_now_playing_queue_list_item , определенный в packages/apps/Car/Media/res/layout/queue_list_item.xml , или в отдельном файле

    Чтобы скрыть таймер воспроизведения, установите для show_time_for_now_playing_queue_list_item значение false .

  • Используйте рисуемое состояние, например передний план или фон корневого представления элемента (см. packages/apps/Car/Media/res/layout/queue_list_item.xml или отдельное представление в иерархии представлений элемента).

Рисунок 7. Выделенный текущий элемент в очереди воспроизведения.