媒体路由
最新更新 | 稳定版 | 候选发布版 | 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))。包括
- 提示用户检查搜索到的设备是否在同一 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 media router 库访问 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()
现在在没有传递的路由为 SELECTED 或 SELECTING 时抛出 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
发布。此版本包含的提交可以在 此处 找到。
新功能
- 将标记为
@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 以通过