客製化媒體

媒體屬於一套系統應用程式(例如,撥號器和應用程式啟動器)。這些應用程式共用 AOSP 結構中不同層級定義的通用樣式和資源。

  • framework/base所有 Android 基本樣式都在這裡定義。
  • packages/services/Car/car_product/overlay包含建置時覆蓋,可修改標準架構/基礎資源以產生 Android Automotive OS 的 AOSP 外觀。 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包含媒體和其他媒體 UI 之間共享的元素。例如,主螢幕媒體小工具。
  • packages/apps/Car/Media.所有系統應用程式都使用自己的主題,該主題擴展自Theme.CarUi ,如car-ui-lib所定義。

Android Automotive AOSP 提供兩種媒體呈現方式。

  • 媒體使用者介面。使用戶能夠登入、瀏覽內容和使用詳細的播放控制。
  • 主螢幕媒體小工具。允許在主螢幕上使用核心媒體播放控制功能。

媒體使用者介面

下圖描述了 Media UI 的結構:

媒體介面

圖 1.媒體使用者介面。

有關 UX 和 UI 指南以及媒體不同組件的空間結構的詳細信息,請參閱空間模型

AppBarView:工具列

媒體 UI 工具列是與其他系統應用程式共用的元件,例如撥號器和廣播。若要了解如何自訂工具列,請參閱汽車 UI 庫整合指南

媒體最大圖稿尺寸

若要通知媒體應用程式要取得的藝術品的最大尺寸,您可以在系統中覆寫media_items_bitmap_max_size_px 。為此,請傳送EXTRA_MEDIA_ART_SIZE_HINT_PIXELS作為根提示。因此,您在下載圖像時將節省頻寬。要了解更多信息,請參閱developer.android.com 上的MediaConstants

瀏覽片段

Browse 主要由Car UI RecyclerView組成,它處理捲軸位置、箭頭和邊距,並且可以瀏覽不同類型的項目,例如標題、網格項目、圖示網格項目、清單項目和圖示清單項目。

最小化播放控件

當顯示瀏覽片段並且選擇媒體項目時,將顯示最小化的播放控制視圖。下圖說明了該視圖的結構:

最小化播放控件

圖 2.最小化的播放控制。

瀏覽清單

開發人員可以使用一組樣式提示(請參閱應用程式內容樣式)來自訂媒體瀏覽內容的呈現方式。 OEM 必須遵循這些風格,根據其設計系統調整外觀。

支援的項目類型和各自的佈局如下:

回放畫面

若要顯示此螢幕,請展開最小化的播放控制:

  • 目前正在播放媒體項元資料(包括標題和副標題)。
  • 完整的播放控制。
  • 播放佇列(用於顯示最近播放或下一個要播放的項目)。

播放畫面的組件如下圖所示。

回放畫面

圖 3.播放畫面。

播放畫面不會與應用程式的其餘部分共用工具列。相反,該螢幕單獨管理螢幕頂部的元素。

音訊格式屬性

當應用程式在目前播放的媒體項目的額外內容中設定KEY_CONTENT_FORMAT_TINTABLE_LARGE_ICON_URIKEY_CONTENT_FORMAT_TINTABLE_SMALL_ICON_URI 。 OEM 必須依照 URI 的指示呈現適當的向量可繪製物件。

必須在主播放檢視上使用大版本的內容格式圖示。在輔助視圖(例如較小的播放列)上,OEM 可以使用較小版本的內容格式圖示。 ContentFormatView根據其logoSize屬性呈現最佳圖示。

當應用程式設定KEY_SUBTITLE_LINK_MEDIA_IDKEY_DESCRIPTION_LINK_MEDIA_ID時,OEM 必須以建議可以點擊的方式呈現字幕或說明,然後開啟瀏覽檢視以在使用者點擊時顯示連結的媒體項目。

播放控制

播放畫麵包括一組擴展的播放控件,按控制行組織。只有當第一行上的空間不足以顯示媒體應用程式從PlaybackStateCompat#getActions()傳回的所有動作時,才會顯示輔助行(在下方顯示為頂部的行)。

播放控制

圖 4.播放控制。

OEM 可以自訂標準操作的圖標,但他們必須呈現媒體應用程式提供的自訂操作圖標。

主螢幕媒體小工具

該小部件作為car-media-common中的片段實現。該片段包括上述播放畫面的最小化版本。所有相同的自訂規則和功能都適用。

主螢幕媒體小工具

圖 5.主螢幕媒體小工具。

上面顯示的應用程式選擇器按鈕使用媒體來源切換使用者流程中所述的切換功能。

若要使用應用程式選擇器按鈕的目前媒體來源圖標,請覆寫platform/packages/apps/Car/libs/car-media-common/res/values/bools.xml中定義的use_media_source_logo_for_app_selector標誌並將其設為true 。透過此更改,應用程式工具列另一側的媒體來源圖示將被隱藏。自訂也適用於媒體中心應用程式和參考廣播應用程式。

媒體應用程式選擇按鈕

圖 6.媒體應用程式選擇按鈕。

播放、暫停和停止按鈕佈局

可以為「正在播放」和最小化播放控制視圖自訂播放/暫停/停止按鈕佈局。兩種佈局均在packages/apps/Car/libs/car-media-common/res/layout/中定義。

若要自訂按鈕佈局,請將建置時覆寫套用到play_pause_stop_button_layout.xmlminimized_play_pause_stop_button_layout.xml

反白顯示播放隊列中的目前項目

目前播放佇列項目的狀態設定為selected ,因此可以使用狀態資源進行自訂,例如顏色狀態清單(請參閱顏色狀態清單資源)和狀態清單可繪製物件(請參閱可繪製資源)。若要套用必要的樣式更改,您可以覆寫佇列項目佈局packages/apps/Car/Media/res/layout/queue_list_item.xml ,或單獨的

您也可以在目前播放佇列項目旁邊顯示一個圖示:

圖 7.突出顯示播放佇列中的目前項目。