使用媒體實現廣播

Radio UI 以獨立應用程式實作。有關如何將無線電 UI 整合到無線電硬體的說明可以在實現無線電中找到。

以下部分介紹如何將 Radio UI 與 Media 集成,為用戶提供無縫體驗,使用戶能夠與媒體來源和廣播進行交互,就像它們是單一應用程式一樣。

媒體來源切換使用者流程

下圖說明了 Radio and Media 的參考實作如何實現應用程式切換使用者流程。

媒體來源切換使用者流程

圖1媒體來源切換使用者流程

為了在廣播和媒體中的其他應用程式之間提供無縫轉換, car-media-common庫定義了可用於啟動媒體來源選擇器的 Android 意圖。在 AOSP 中,此選擇器在應用程式啟動器中實現,提供用於啟動應用程式的相同 UI,但經過過濾以僅顯示媒體來源。

OEM 可以選擇按原樣採用目前的應用程式啟動器實現,或實現自訂的媒體來源選擇器。

選擇器可以以兩種模式運作:

  • 正常流量。使用選擇器後,所選來源將顯示在媒體中,以便使用者可以瀏覽其內容。
  • 作為一個開關。選擇器用於切換來源,但不向使用者顯示媒體。主頁上的選擇器圖示也是如此。選擇來源後,將向使用者顯示最近的上一個畫面(在本例中為主頁)。

用於在媒體來源之間切換的意圖可以從MediaSource#getSourceSelectorIntent()方法獲取,該方法接受一個popup布林值,該布林值返回啟動上述每個流的意圖。

實際意圖在packages/apps/Car/libs/car-media-common/res/values/config.xml中定義。若要自訂此配置,請使用建置時覆蓋。

更換收音機應用程式

鑑於廣播應用程式實現了媒體瀏覽和媒體會話,廣播將顯示在應用程式啟動器中。為了防止在使用者點擊圖示時啟動媒體,需要兩個元素。無線電必須

  • 進行啟動器活動。
  • 被聲明為自訂來源。為此,請將元件名稱新增至car-media-common/res/values/config.xml中的custom_media_packages鍵。

使用者體驗駕駛限制

媒體必須遵守所有使用者體驗駕駛分心限制。為此,Media 必須偵聽CarUXRestrictionManager並實作其所有策略。