媒体路由器
最新更新 | 稳定版 | 候选版本 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2024 年 3 月 20 日 | 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。如果您发现新问题或有改进此库的想法,请告诉我们。在创建新问题之前,请查看此库中现有问题。您可以通过点击星形按钮为现有问题添加您的投票。
有关更多信息,请参阅问题跟踪器文档。
版本 1.7
版本 1.7.0
2024 年 3 月 20 日
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)。
- 修复导致
isSystemRoute
对通过android.media.MediaRouter#addUserRoute()
添加的用户路由返回 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)
错误修复
- 修复导致
isSystemRoute
对通过android.media.MediaRouter#addUserRoute()
添加的用户路由返回 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
中的IllegalArgumentException
而崩溃的回归 (7d17ea). - 添加
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
中的IllegalArgumentException
而崩溃的回归 (7d17ea).
版本 1.4.0-beta01
2023年1月25日
androidx.mediarouter:mediarouter:1.4.0-beta01
已发布。版本 1.4.0-beta01 包含这些提交。
API 更改
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
中添加路由参数以进行 UX 微调。 - 为公共方法添加了空值注释。
- 为 androidx 启用了
MissingGetterMatchingBuilder
的 API lint 检查。 - 将 mediarouter 对 core 的依赖项更新到 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
中添加路由参数以进行 UX 微调 (I7e574) - 为公共方法添加了空值注释 (Ifc901)
错误修复
- 为 androidx 启用了
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 包含以下提交。
错误修复
- 修复当调用
unselect()
且蓝牙可用时选择手机扬声器的问题 - 修复 MediaRouter.Callback 定时。
Callback#onRouteSelected
和Callback#onRouteUnselected
将在OnPrepareTransferListener#onPrepareTransfer
完成后调用。
版本 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)
阻止对仅供内部使用的 Tentative 方法的使用。
版本 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)
阻止对仅供内部使用的 Tentative 方法的使用。
错误修复
- 解决了投射对话框上的 Talkback 问题
- 使用锁保护 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
已发布。此版本中包含的提交可以在 此处找到。
新功能
- 将
IllegalPointerException
更改为NullPointerException
,用于标记为@NonNull
的空参数。
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
支持动态组路由 - 为动态组路由的路由选择器和控制器对话框添加了新的 UX
- 添加了 API 以通过