系統 UI 中的媒體控制項

從 Android 13 開始,系統 UI 中的媒體控制項會更新動作按鈕和遠端播放功能。這些變更可提升手機和平板電腦的媒體控制體驗,並支援在裝置間流暢轉移媒體。

媒體控制選項更新

本節說明 Android 13 對媒體控制項所做的更新,包括動作按鈕和遠端播放。

動作按鈕變更

為確保使用者能存取應用程式播放媒體時的豐富媒體控制項,Android 13 媒體控制項上的動作按鈕會衍生自 PlaybackState 動作狀態。這項異動後,函式 MediaDataManager#createActionsFromState 會根據 PlaybackState 動作狀態產生動作按鈕資訊。這與其他 Android 平台 (例如 Android Auto、Google 助理和 Android Wear) 的媒體控制項顯示方式一致。

相較之下,在 Android 12 中,媒體控制項的動作按鈕是由新增至MediaStyle通知的通知動作決定。

如要查看動作按鈕更新的應用程式相容性變更摘要,請參閱StatusBarManager

遠端播放 API

為在各種介面提供一致的媒體體驗,Android 13 以上版本新增了系統 API Notification#setRemotePlaybackInfo,可標記媒體控制項系統 UI 上的媒體通知,用於遠端播放。系統應用程式可透過這個 API 發布通知,並執行下列操作:

  • 為媒體控制項的預設輸出切換器,提供來自遠端裝置的媒體資訊和功能。
  • 視需要更換輸出切換器。

使用這項通知的系統應用程式必須具備 MEDIA_CONTENT_CONTROL 權限。

Notification#setRemotePlaybackInfo API 也會新增下列 extras,判斷遠端播放裝置的名稱、圖示和意圖:

  • Notification#EXTRA_MEDIA_REMOTE_DEVICE
  • Notification#EXTRA_MEDIA_REMOTE_ICON
  • Notification#EXTRA_MEDIA_REMOTE_INTENT

有了這項資訊,系統 UI 就能取代預設的輸出切換器晶片裝置資訊,並在區域媒體控制項清單結尾新增遠端播放的媒體控制項。

實作媒體控制

原始設備製造商 (OEM) 必須瞭解這項預設行為異動,因為這會影響應用程式媒體控制項的產生方式。OEM 也必須確保新的系統 API 在輸出切換器功能中正常運作。

OEM 不需要進行任何變更,可以直接使用 AOSP 中的預設實作內容

自訂遠端播放

如果 OEM 有發布遠端媒體播放通知的系統應用程式,只要已授予 MEDIA_CONTENT_CONTROL 權限,應用程式就能選擇呼叫 setRemotePlaybackInfo 發布通知。不過,這並非必要條件,合作夥伴可以選擇不自訂。

驗證媒體控制選項

如要測試系統 UI 中的媒體控制項,請執行手動測試來驗證下列項目:

  • 透過應用程式播放媒體時,按鈕可正常運作。
  • 輸出切換器會顯示正確的裝置資訊。

請使用下列測試驗證遠端播放 API:

請參閱新的 CDD 需求 [3.8.3.1/H-1-SR],瞭解相關建議。