Mediarouter
最近更新時間 | 穩定版 | 候選版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
March 20, 2024 | 1.7.0 | - | - | - |
宣告依附元件
如要新增 MediaRouter 的依附元件,必須將 Google Maven 存放區新增至專案。詳情請參閱 Google 的 Maven 存放區。
在應用程式或模組的 build.gradle
檔案中,新增所需構件的依附元件:
Groovy
dependencies { implementation "androidx.mediarouter:mediarouter:1.7.0" }
Kotlin
dependencies { implementation("androidx.mediarouter:mediarouter:1.7.0") }
如要進一步瞭解依附元件,請參閱「新增建構依附元件」一文。
意見回饋
您的意見可協助我們改善 Jetpack。如果您發現新問題,或是有改進這個程式庫的建議,請告訴我們。回報新問題前,請先查看這個程式庫的現有問題。只要按一下星號按鈕,即可投票給現有的問題。
詳情請參閱 Issue Tracker 說明文件。
1.7 版
1.7.0 版
March 20, 2024
發布 androidx.mediarouter:mediarouter:1.7.0
和 androidx.mediarouter:mediarouter-testing:1.7.0
。1.7.0 版包含這些修訂項目。
API 變更
- 將
isSystemRoute()
新增至MediaRouteDescriptor
和RouteInfo
,如果對應的路徑是系統管理的路徑,則會傳回 true,這表示系統是路徑提供者,而應用程式負責將媒體樣本提供給系統進行算繪 (I949e4)。藍牙耳機、有線耳機和內建喇叭都是系統路徑的例子。 - 淘汰
MediaRouter.removeRemoteControlClient
。您應呼叫setMediaSessionCompat(MediaSessionCompat)
而非addRemoteControlClient(Object)
,這樣就不需要呼叫removeRemoteControlClient(Object)
。(I8fc5e)。 - 讓
MediaRouteButton
擴充AppCompatImageView
。(Ib455e)。 - 新增
DEVICE_TYPE_SMARTPHONE
,表示媒體路徑是智慧型手機。(I39837)。 - 改善裝置類型對應方式,從
MediaRouter2
改為 AndroidXMediaRouter
,以便描述系統路徑 (例如:藍牙、HDMI、有線)。(Iccffa)。
修正錯誤
- 為路線按鈕新增缺少圖示的解決方案,這可能會導致部分個別當機問題。(cddba9、b/261878418)。
- 修正錯誤,修正透過
android.media.MediaRouter#addUserRoute()
新增的使用者路徑,導致isSystemRoute
傳回 true 的問題 (a27f6b)。
新功能
- 將 minSdk 調高至 19。(e8c4463)
1.7.0-rc01 版
2024 年 3 月 6 日
發布 androidx.mediarouter:mediarouter:1.7.0-rc01
和 androidx.mediarouter:mediarouter-testing:1.7.0-rc01
。1.7.0-rc01 版包含這些修訂項目。
1.7.0-beta01 版
2024 年 2 月 21 日
發布 androidx.mediarouter:mediarouter:1.7.0-beta01
和 androidx.mediarouter:mediarouter-testing:1.7.0-beta01
。1.7.0-beta01 版包含以下修訂項目。
1.7.0-alpha02 版
2024 年 2 月 7 日
發布 androidx.mediarouter:mediarouter:1.7.0-alpha02
和 androidx.mediarouter:mediarouter-testing:1.7.0-alpha02
。1.7.0-alpha02 版包含以下修訂項目。
新功能
- 將 minSdk 調高至 19。(e8c4463)
API 變更
- 改善裝置類型對應方式,從
MediaRouter2
改為 AndroidXMediaRouter
,以便描述系統路徑 (例如:藍牙、HDMI、有線)。(Iccffa)。
修正錯誤
- 修正錯誤,修正透過
android.media.MediaRouter#addUserRoute()
新增的使用者路徑,導致isSystemRoute
傳回 true 的問題 (a27f6b)。
1.7.0-alpha01 版
2023 年 11 月 15 日
發布 androidx.mediarouter:mediarouter:1.7.0-alpha01
和 androidx.mediarouter:mediarouter-testing:1.7.0-alpha01
。1.7.0-alpha01 版包含這些修訂項目。
API 變更
- 將
isSystemRoute()
新增至MediaRouteDescriptor
和RouteInfo
,如果對應的路徑是系統管理的路徑,則會傳回 true,這表示系統是路徑提供者,而應用程式負責將媒體樣本提供給系統進行算繪 (I949e4)。藍牙耳機、有線耳機和內建喇叭都是系統路徑的例子。 - 淘汰
MediaRouter.removeRemoteControlClient
。您應呼叫setMediaSessionCompat(MediaSessionCompat)
而非addRemoteControlClient(Object)
,這樣就不需要呼叫removeRemoteControlClient(Object)
。(I8fc5e)。 - 讓
MediaRouteButton
擴充AppCompatImageView
。(Ib455e)。 - 新增
DEVICE_TYPE_SMARTPHONE
,表示媒體路徑是智慧型手機。(I39837)。
修正錯誤
- 為路線按鈕新增缺少圖示的解決方案,這可能會導致部分個別當機情形。(cddba9、b/261878418)。
1.6 版本
1.6.0 版
2023 年 9 月 20 日
發布 androidx.mediarouter:mediarouter:1.6.0
和 androidx.mediarouter:mediarouter-testing:1.6.0
。1.6.0 版包含以下修訂項目。
自 1.4.0 版以來的主要功能
- 輸出端切換器的路徑清單偏好設定
- 為 AndroidX MediaRouter 新增路徑清單偏好設定支援。
- 新增 MediaRouteDescriptor 的顯示支援功能。
- 重新設計 MediaRouteButton,提供更優質的使用者體驗 ((I9dbcb)[https://android-review.googlesource.com/#/q/I9dbcb8d9e5ee4902d48f1bfb4133e04781c6ae35))。包括:
- 為使用者新增提示,讓他們確認搜尋到的裝置是否連上相同的 Wi-Fi。
- 新增結束狀態,並在預先定義的時間結束時顯示錯誤訊息。
- 新增螢幕關閉時自動關閉 MediaRouter 對話方塊的功能。
1.6.0-rc01 版
2023 年 8 月 23 日
發布 androidx.mediarouter:mediarouter:1.6.0-rc01
和 androidx.mediarouter:mediarouter-testing:1.6.0-rc01
。1.6.0-rc01 版包含以下修訂項目。
新功能
- 新增螢幕關閉時自動關閉
MediaRouter
對話方塊的功能 (Ib25ee)。
修正錯誤
- 將
MediaRouter
記錄標記變更為AxMediaRouter
,以便與平台MediaRouter
區分。(Ib619f)。
1.6.0-beta01 版
2023 年 8 月 9 日
發布 androidx.mediarouter:mediarouter:1.6.0-beta01
和 androidx.mediarouter:mediarouter-testing:1.6.0-beta01
。1.6.0-beta01 版包含以下修訂項目。
API 變更
- 修正對 Android U 平台 API 的支援。(Ie9117、b/289269026)。
修正錯誤
- 修正
MediaRouteChooserDialog
中的翻譯。(d39a7f)。
1.6.0-alpha05 版
2023 年 6 月 21 日
發布 androidx.mediarouter:mediarouter:1.6.0-alpha05
和 androidx.mediarouter:mediarouter-testing:1.6.0-alpha05
。1.6.0-alpha05 版包含以下修訂項目。
新功能
1.6.0-alpha04 版本
2023 年 6 月 7 日
發布 androidx.mediarouter:mediarouter:1.6.0-alpha04
和 androidx.mediarouter:mediarouter-testing:1.6.0-alpha04
。這個版本是在內部分支版本中開發而成。
新功能
- 重新調整
MediaRouteButton
,提供更優質的使用者體驗 (I9dbcb)。包括:- 為使用者新增提示,讓他們確認搜尋的裝置是否連上相同的 Wi-Fi。
- 新增結束狀態,並在預先定義的時間結束時顯示錯誤訊息。
API 變更
- 從平台導入新的
MediaRouteDescriptor
裝置類型。(I75ba6)。
修正錯誤
- 修正非動態路徑控制器 (I730ec) 的音量調整問題。
- 讓
MediaRouteButton
一律啟用 (I1e9ff)。 - 修正某些 Android 版本執行階段檢查,以免使用 AndroidX 媒體路由器程式庫時無法存取 Android U 功能 (I97cab)。
1.6.0-alpha03 版本
2023 年 4 月 12 日
發布 androidx.mediarouter:mediarouter:1.6.0-alpha03
和 androidx.mediarouter:mediarouter-testing:1.6.0-alpha03
。此版本是由內部分支版本發布。
- 針對
MediaRouteDescriptor
的瀏覽權限 API 進行一些變更。 - 停用
MediaRouteActionProvider.setAlwaysVisible
和MediaRouteButton.setAlwaysVisible
,無論網路連線或媒體路徑是否可用,媒體路徑按鈕一律會顯示。 - 修正非動態路徑控制器的音量調整問題。這項修正可解決在輸出切換器中嘗試調整路徑音量時,會導致音量恢復原始值的錯誤 (93f409)。
1.6.0-alpha02 版本
2023 年 3 月 8 日
發布 androidx.mediarouter:mediarouter:1.6.0-alpha02
和 androidx.mediarouter:mediarouter-testing:1.6.0-alpha02
。在內部分支版本中開發。
新功能
- 為 AndroidX
MediaRouter
新增路徑清單偏好設定支援功能。 - 新增
MediaRouteDescriptor
的可見度支援。
修正錯誤
- 改善 Android U+ 上的 SystemUI 輸出切換器叫用功能。
1.6.0-alpha01 版本
2023 年 2 月 10 日
發布 androidx.mediarouter:mediarouter:1.6.0-alpha01
。1.6.0-alpha01 版包含這些修訂項目。
新功能
- 輸出端切換器的路徑清單偏好設定
API 變更
- 讓應用程式設定輸出端切換器的機制。
1.4 版
1.4.0 版本
2023 年 5 月 3 日
發布 androidx.mediarouter:mediarouter:1.4.0
和 androidx.mediarouter:mediarouter-testing:1.4.0
。1.4.0 版本包含這些修訂版本。
自 1.3.1 版以來的重要異動
- 新增
SystemOutputSwitcherDialogController#showDialog
以顯示系統的輸出端切換器對話方塊,或是在系統輸出端切換器無法使用的情況下,顯示 Wear 裝置上的藍牙設定片段。(Ic3d78)。 - 修正
MediaRouterProvider.notifyDynamicRoutesChanged
(7d17ea) 中的IllegalArgumentException
導致應用程式當機的迴歸問題。 - 新增
MediaRouteDescriptor.Builder.clearControlFilters
(I3a4e1) - 在
MediaRouter
中新增缺少的MainThread
註解。(I3ef6e) - 在 API 33 以上版本中新增廣播接收器匯出旗標。(b2a663)。
1.4.0-rc01 版本
2023 年 4 月 5 日
發布 androidx.mediarouter:mediarouter:1.4.0-rc01
和 androidx.mediarouter:mediarouter-testing:1.4.0-rc01
。1.4.0-rc01 版包含以下修訂項目。
- 移除 MediaRouteProviderDescriptor 中的空值清單。
1.4.0-beta02 版本
2023 年 2 月 22 日
發布 androidx.mediarouter:mediarouter:1.4.0-beta02
。1.4.0-beta02 版包含以下修訂項目。
修正錯誤
- 修正
MediaRouterProvider.notifyDynamicRoutesChanged
(7d17ea) 中的IllegalArgumentException
導致應用程式當機的迴歸問題。
1.4.0-beta01 版本
2023 年 1 月 25 日
發布 androidx.mediarouter:mediarouter:1.4.0-beta01
。1.4.0-beta01 版包含此連結所列的修訂項目。
API 變更
如果沒有任何傳遞的路徑狀態為 SELECTED 或 SELECTING,DynamicGroupRouteController.notifyDynamicRoutesChanged()
現在會擲回 IllegalArgumentException
。(8f6b3e)
修正錯誤
- 由符合 API 規範的供應商服務實作傳回空值路徑提供者會造成當機情形,這個問題現已修正。(63f16d)
- 將受保護的廣播接收器標記為未匯出,使其能在指定 API 33 以上級別的應用程式中運作。(784f8b)。
- 修正
OverlayListView
中部分錯誤的是否可為空值註解。(472e3f)。 - 修正
SystemOutputSwitcherDialogController.showDialog
中的EXTRA_CLOSE_ON_CONNECT
會導致藍牙設定片段在 Wear 裝置上突然結束的錯誤。(28c9d8) - 已變更為輸出端切換器公開方法的 Javadoc。(f0ae94、44d2c9)。
1.4.0-alpha01 版
2022 年 11 月 9 日
發布 androidx.mediarouter:mediarouter:1.4.0-alpha01
。查看 1.4.0-alpha01 版的修訂項目。
新功能
- 新增
SystemOutputSwitcherDialogController#showDialog
以顯示系統的輸出端切換器對話方塊,或是在系統輸出端切換器無法使用的情況下,顯示 Wear 裝置上的藍牙設定片段。(Ic3d78)。
API 變更
- 新增
MediaRouteDescriptor.Builder.clearControlFilters
(I3a4e1) - 在
MediaRouter
中新增缺少的MainThread
註解。(I3ef6e)
修正錯誤
- 修正呼叫
MediaRouter.removeUserRoute
造成的裝置特定當機問題 (b/202931542)。 - 修正群組描述元無法持續接收磁碟區處理更新的問題 (461303)。
- 在 API 33 以上版本中新增廣播接收器匯出旗標。(b2a663)。
- 修正因接收來自平台的無效路徑描述元而導致的當機問題 (dd5c09)。
1.3 版本
1.3.1 版本
2022 年 7 月 27 日
發布 androidx.mediarouter:mediarouter:1.3.1
。查看 1.3.1 版的修訂項。
修正錯誤
- 解決裝置專屬問題,其中
MediaRouter.removeUserRoute()
會擲回非預期的IllegalArgumentException
(b/202931542)。
1.3.0 版本
2022 年 4 月 20 日
androidx.mediarouter:mediarouter:1.3.0
發布。1.3.0 版包含此連結所列的修訂項目。
自 1.2.0 版以來的重要異動
- 將旗標新增至
MediaRouterParams
,用於在執行階段停用流暢轉移功能。 - 新增可重設
MediaRouter
的測試成果。 - 新增路由器參數,以便在
MediaRouterControllerDialog
之中調整使用者體驗 - 在公開方法中備註空值。
- 為 androidx 啟用
MissingGetterMatchingBuilder
的 API Lint 檢查。 - 將媒體路由器的核心依附元件更新至 1.6.0
1.3.0-rc01 版本
2022 年 3 月 23 日
androidx.mediarouter:mediarouter:1.3.0-rc01
發布。查看 1.3.0-rc01 版的修訂項。
- 自上次 Beta 版發布後沒有任何異動。
1.3.0-beta01 版本
2022 年 3 月 9 日
發布 androidx.mediarouter:mediarouter:1.3.0-beta01
。查看 1.3.0-beta01 版的修訂項。
- 自上次 Alpha 版發布以來沒有任何異動。
1.3.0-alpha01 版本
2021 年 12 月 15 日
發布 androidx.mediarouter:mediarouter:1.3.0-alpha01
。查看 1.3.0-alpha01 版的修訂項目。
API 相關異動
- 將旗標新增至
MediaRouterParams
,用於在執行階段停用流暢轉移功能 (I53d68) - 新增可重設
MediaRouter
的測試成果。(Id167c)。 - 新增路由器參數,以用於在
MediaRouterControllerDialog
中調整使用者體驗 (I7e574) - 公用方法的備註空值 (Ifc901)
修正錯誤
- 已為 Android 啟用
MissingGetterMatchingBuilder
的 API Lint 檢查 (I4bbea、b/138602561)
1.2 版本
1.2.6 版本
2022 年 1 月 26 日
發布 androidx.mediarouter:mediarouter:1.2.6
。1.2.6 版本包含以下修訂項目。
修正錯誤
- 修正 Android 12 上的
RemotePlaybackClient
建構函式當機問題 b/210684559
1.2.5 版本
2021 年 9 月 1 日
發布 androidx.mediarouter:mediarouter:1.2.5
。1.2.5 版本包含以下修訂項目。
修正錯誤
- 沒有可轉移的路徑時,隱藏輸出切換器中的媒體路徑按鈕。
- 修正控管群組成員路徑音量的問題。
1.2.4 版本
2021 年 6 月 16 日
發布 androidx.mediarouter:mediarouter:1.2.4
。1.2.4 版本包含以下修訂項目。
修正錯誤
- 修正 MediaRouteButton 重播連結動畫的問題。
- 修正
MediaRouteChooserDialog
中的路徑垂直對齊。
1.2.3 版本
2021 年 5 月 5 日
發布 androidx.mediarouter:mediarouter:1.2.3
。1.2.3 版本包含以下修訂項目。
修正錯誤
- 修正自訂選擇器對話方塊的 NullPointerException。
- 修正 MediaRouteButton 顯示斷開狀態的問題 (即使已連線),如果其已暫時停用。
1.2.2 版本
2021 年 2 月 10 日
發布 androidx.mediarouter:mediarouter:1.2.2
。1.2.2 版包含以下修訂項目。
修正錯誤
- 呼叫
OnDynamicRouteChangedListener.onRouteChanged
時,不會嘗試重新選取所選路徑。
1.2.1 版本
2021 年 1 月 13 日
發布 androidx.mediarouter:mediarouter:1.2.1
。查看 1.2.1 版的修訂項目。
修正錯誤
- 修正在 BT 可用期間,呼叫
unselect()
時選取手機揚聲器的問題 - 修正 MediaRouter.Callback 時間碼。系統會在
OnPrepareTransferListener#onPrepareTransfer
完成後呼叫Callback#onRouteSelected
和Callback#onRouteUnselected
。
1.2.0 版本
2020 年 10 月 14 日
發布 androidx.mediarouter:mediarouter:1.2.0
。1.2.0 版包含此連結所列的修訂項目。
自 1.1.0 版以來的主要功能
- 支援順暢的媒體傳輸功能,透過系統 UI 啟用媒體傳輸:詳情請參閱「媒體影片的新功能」
- 已變更註冊回呼的指南。查看
MediaRouter.addCallback()
的 Javadoc 中的範例程式碼 - 新增
MediaRouter#OnPrepareTransferListener
事件監聽器,以便在所選路徑即將變更時接收事件。 - 新增
MediaRouterParams
以表示轉送功能和 UI 類型。 - 透過
@RestrictTo(LIBRARY)
避免嘗試用於內部用途
1.2.0-rc02 版本
2020 年 10 月 1 日
發布 androidx.mediarouter:mediarouter:1.2.0-rc02
。查看 1.2.0-rc02 版的修訂項。
修正錯誤
- 修正問題:當使用者透過系統 UI 停止投放時,可能不會呼叫
RouteController#onUnselect
。
1.2.0-rc01 版本
2020 年 9 月 16 日
發布 androidx.mediarouter:mediarouter:1.2.0-rc01
。查看 1.2.0-rc01 版的修訂項目。
修正錯誤
- 修正了與藍牙音訊裝置連線時,目前投放功能的連線中斷問題。
- 修正了在
MediaRouteProvider#notifyDynamicRoutesChanged()
中擲回IllegalArgumentException
的問題。 - 讓停止從輸出端切換器中投放內容的功能順利運作
1.2.0-beta01 版本
2020 年 9 月 2 日
發布 androidx.mediarouter:mediarouter:1.2.0-beta01
。查看 1.2.0-beta01 版的修訂項目。
新功能
- 支援順暢的媒體傳輸功能,透過系統 UI 啟用媒體傳輸:詳情請參閱「媒體影片的新功能」
API 相關異動
- 讓
MediaRouter.OnPrepareTransferListener
使用 ListenableFuture
修正錯誤
- 修正群組路徑的音量控制問題。
- 建立群組路徑時,會先建立群組路徑,之後再建立成員路徑。
- 啟用輸出切換器中的「停止」功能。
- 修正未正常呼叫的回呼
- 系統在建立轉送工作階段時為
RouteController#onSelect
。 - 從投放功能轉移到手機時為
MediaRouter.Callback#onRouteSelected
。 MediaRouter.Callback#onRouteSelected
以及正確的群組路徑資訊。
- 系統在建立轉送工作階段時為
- 移除回呼
1.2.0-alpha02 版本
2020 年 7 月 22 日
發布 androidx.mediarouter:mediarouter:1.2.0-alpha02
。1.2.0-alpha02 版包含此連結所列的修訂項目。
API 相關異動
- 新增
MediaRouter.Callback#onRouteSelected
,用於在所選路徑與要求路徑不同時接收通知 (Ieee16) - 新增事件監聽器
MediaRouter#OnPrepareTransferListener
,用於在所選路徑即將變更時接收事件 (I6ace1) - 新增 MediaRouterParam (I33150)
- 已變更註冊回呼的指南。請參閱
MediaRouter.addCallback()
的 Javadoc 範例程式碼 (I58112)
1.2.0-alpha01 版本
2020 年 4 月 15 日
androidx.mediarouter:mediarouter:1.2.0-alpha01
發布。查看 1.2.0-alpha01 版的修訂項。
API 相關異動
- 透過
@RestrictTo(LIBRARY)
避免嘗試用於內部用途
修正錯誤
- 解決投放對話時的 TalkBack 問題
- 透過 Lock 保護 DynamicGroupRouterController 的事件監聽器
1.1 版本
1.1.0 版本
2019 年 9 月 5 日
發布了 androidx.mediarouter:mediarouter:1.1.0
。您可以前往這裡查看這個版本包含的修訂項目。
自 1.0.0 版以來的重要異動
- 動態群組支援功能
- 允許使用者動態新增或移除路徑裝置。
- 如要啟用動態群組,請呼叫
MediaRouteButton.enableDynamicGroup()
;應用程式會顯示新的動態群組對話方塊 - 已安裝的
MediaRouteProvider
必須同時支援動態群組才能啟用這項功能。
1.1.0-rc01 版本
2019 年 6 月 13 日
發布了 androidx.mediarouter:mediarouter:1.1.0-rc01
,且自 1.1.0-beta02
版以來皆無異動。您可以前往這裡查看這個版本包含的修訂項目。
1.1.0-beta02 版本
2019 年 6 月 5 日
發布 androidx.mediarouter:mediarouter:1.1.0-beta02
。您可以前往這裡查看這個版本包含的修訂項目。
新功能
- 支援 MediaRouter 對話中的 RTL 語言
修正錯誤
- 修正 MediaRoute 對話的底部邊框間距
1.1.0-beta01 版本
2019 年 5 月 7 日
發布了 androidx.mediarouter:mediarouter:1.1.0-alpha01
。您可以前往這裡查看這個版本包含的修訂項目。
新功能
- 針對標示為
@NonNull
的空值引數,將IllegalPointerException
變更為NullPointerException
。
API 相關異動
DynamicRouteDescriptor
的回呼邏輯已變更。現在MediaRouteProvider
會呼叫MediaRouterProvider.DynamicGroupController.notifyDynamicRoutesChanged
,而不是直接呼叫回呼方法。
1.1.0-alpha03 版本
2019 年 4 月 3 日
發布 androidx.mediarouter:mediarouter:1.1.0-alpha03
。您可以前往這裡查看這個版本包含的修訂項目。
修正錯誤
- 已修正 MediaRouteVolumeSlider 和 RegisteredMediaRouteProvider 上的當機問題。
1.1.0-alpha02 版本
2019 年 3 月 13 日
發布了 androidx.mediarouter:mediarouter:1.1.0-alpha02
。您可以前往這裡查看這個版本包含的修訂項目完整清單。
新功能
- 支援 Android Studio 版面配置預覽中的 MediaRouteButton
API 相關異動
- 在
MediaRouteActionProvider
和MediaRouteButton
中新增enableDynamicGroup()
方法,啟用動態群組功能 - 在
MediaRouteActionProvider
和MediaRouteButton
中新增setAlwaysVisible(boolean)
方法,讓MediaRouteButton
能持續顯示
修正錯誤
- 讓
MediaRouteCastDialog
列點擊功能容易使用 - 移除不必要的
onRouteChanged
回呼呼叫
1.1.0-alpha01 版本
2018 年 12 月 3 日
新功能
- 新增支援動態群組路徑
- 新增 API,用於支援
MediaRouteProviders
提供的動態群組路徑 - 新增路徑選擇器和動態群組路徑的控制器對話方塊,提供全新的使用者體驗
- 新增 API,用於支援