媒体
最近更新时间 | 稳定版 | 候选版 | Beta 版 | Alpha 版 |
---|---|---|---|---|
2023 年 11 月 29 日 | 1.7.0 | - | - | - |
声明依赖项
如需添加 Media 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。
在应用或模块的 build.gradle
文件中添加所需工件的依赖项:
Groovy
dependencies { implementation "androidx.media:media:1.7.0" }
Kotlin
dependencies { implementation("androidx.media:media:1.7.0") }
如需详细了解依赖项,请参阅添加 build 依赖项。
反馈
您的反馈将帮助我们改进 Jetpack。如果您发现了新问题,或对此库有任何改进建议,请告诉我们。创建新问题前,请先查看此库中的现有问题。您可以点击星标按钮,为现有问题投票。
如需了解详情,请参阅问题跟踪器文档。
版本 1.7
版本 1.7.0
2023 年 11 月 29 日
发布了 androidx.media:media:1.7.0
。版本 1.7.0 中包含这些提交内容。
自 1.6.0 以来的重要变更
- 在
MediaButtonReceiver
中捕获ForegroundServiceStartNotAllowedException
并将其转发到onForegroundServiceStartNotAllowedException
。(I0c939) - 添加了
BROWSER_SERVICE_EXTRAS_KEY_FAVORITES_MEDIA_ITEM
,用于在MediaBrowserCompat
根 extra 中传递收藏的媒体内容。(Id3a11) - 添加了 extra 以在
MediaBrowserCompat
根 extra 和MediaItem
说明中设置浏览自定义操作。(Iab163) - 修复了由于在旧版 Android 上从
MediaBrowserService.onLoadChildren
返回 null 而导致的IllegalStateException
。
版本 1.7.0-rc01
2023 年 11 月 15 日
发布了 androidx.media:media:1.7.0-rc01
,该版本没有任何变化。版本 1.7.0-rc01 中包含这些提交内容。
版本 1.7.0-beta01
2023 年 11 月 1 日
发布了 androidx.media:media:1.7.0-beta01
。版本 1.7.0-beta01 中包含这些提交内容。
bug 修复
- 修复了
MediaBrowserService
和MediaBrowserServiceCompat
的潜在内存泄漏问题。b/37137738。 - 修复了由于在旧版 Android 上从
MediaBrowserService.onLoadChildren
返回 null 而导致的IllegalStateException
。
版本 1.7.0-alpha01
2023 年 2 月 8 日
发布了 androidx.media:media:1.7.0-alpha01
。版本 1.7.0-alpha01 中包含这些提交内容。
新功能
- 在
MediaButtonReceiver
中捕获ForegroundServiceStartNotAllowedException
并将其转发到onForegroundServiceStartNotAllowedException
。(I0c939) - 添加了
BROWSER_SERVICE_EXTRAS_KEY_FAVORITES_MEDIA_ITEM
,用于在MediaBrowserCompat
根 extra 中传递收藏的媒体内容。(Id3a11) - 添加了 extra 以在
MediaBrowserCompat
根 extra 和MediaItem
说明中设置浏览自定义操作。(Iab163)
版本 1.6.0
版本 1.6.0
2022 年 4 月 20 日
发布了 androidx.media:media:1.6.0
。版本 1.6.0 中包含这些提交内容。
自 1.5.0 以来的重要变更
- 添加了在 Android Auto 媒体应用上使用
CarAppLibrary
设置“登录”/“设置”页面所需的 extra。
版本 1.6.0-rc01
2022 年 4 月 6 日
发布了 androidx.media:media:1.6.0-rc01
。版本 1.6.0-rc01 中包含以下提交内容。
版本 1.6.0-beta01
2022 年 3 月 23 日
发布了 androidx.media:media:1.6.0-beta01
。版本 1.6.0-beta01 中包含这些提交内容。
- 与上个 Alpha 版相比没有变化。
版本 1.6.0-alpha01
2022 年 2 月 23 日
发布了 androidx.media:media:1.6.0-alpha01
。版本 1.6.0-alpha01 中包含这些提交内容。
API 变更
- 添加了在 Android Auto 媒体应用上使用
CarAppLibrary
设置“登录”/“设置”页面所需的 extra。(Ifb3ca)
版本 1.5
版本 1.5.0
2022 年 2 月 9 日
发布了 androidx.media:media:1.5.0
。版本 1.5.0 中包含这些提交内容。
自版本 1.4.0 以来的重要变更
- 为
AudioManagerCompat
添加了isVolumeFixed
- 为单一项目的样式设置和完成百分比添加了
MediaConstants
。 - 对于 API 级别 30 或更高级别,库将不再注入
MediaBrowserCompat
的软件包可见性过滤器。您需要在应用清单中指定<queries>
元素。 - 修复了 API 21 上
getMediaDescription()
的 extra 的意外更改 - 在 API 19 上防止了一些
IllegalStateException
。 - 修复了以 Android 12 为目标平台时
MediaSessionCompat
中出现崩溃的问题 - 修复了 KitKat 上
NotificationCompat
出现崩溃的问题
版本 1.5.0-rc01
2022 年 1 月 26 日
发布了 androidx.media:media:1.5.0-rc01
,该版本与 1.5.0-beta01
相比没有变化。版本 1.5.0-rc01 中包含这些提交内容。
版本 1.5.0-beta01
2021 年 12 月 1 日
发布了 androidx.media:media:1.5.0-beta01
,该版本与 1.5.0-alpha01
相比没有变化。版本 1.5.0-beta01 中包含这些提交内容。
版本 1.5.0-alpha01
2021 年 11 月 3 日
发布了 androidx.media:media:1.5.0-alpha01
。版本 1.5.0-alpha01 中包含这些提交内容。
新功能
- 将媒体对 Core 的依赖关系更新至 1.6.0
API 变更
- 向 AudioManagerCompat 添加了 isVolumeFixed
- 为单一项目的样式设置和完成百分比添加了 MediaConstant。
bug 修复
- 对于 API 级别 30 或更高级别,库将不再注入
MediaBrowserCompat
的软件包可见性过滤器。您需要在应用清单中指定<queries>
元素。 - 修复了 API 21 上 getMediaDescription() 的 extra 的意外更改
- 通过设置默认大小修复了 ArrayList 使用效率低下的问题。
- 避免了 API 19 上抛出的某种 IllegalStateException。
- 修复了以 Android 12 为目标平台时 MediaSessionCompat 中出现崩溃的问题
- 修复了 KitKat 上 NotificationCompat 出现崩溃的问题
版本 1.4
版本 1.4.3
2021 年 10 月 13 日
发布了 androidx.media:media:1.4.3
。版本 1.4.3 中包含这些提交内容。
bug 修复
- 库将不再注入
MediaBrowserCompat
的软件包可见性过滤器。如果您的应用以 API 级别 30 或更高级别为目标平台,请在应用清单中指定<queries>
元素。(I0a964、b/185314633)
版本 1.4.2
2021 年 9 月 15 日
发布了 androidx.media:media:1.4.2
。版本 1.4.2 中包含这些提交内容。
bug 修复
- 修复了 API 21 上
getMediaDescription()
的附带效应 (I5c05f)
版本 1.4.1
2021 年 8 月 4 日
发布了 androidx.media:media:1.4.1
。版本 1.4.1 中包含这些提交内容。
bug 修复
- 修复了用于创建
PendingIntent
的可变性标记,以防止在以 Android S 为目标平台时发生崩溃。 - 修复了针对
NotificationCompat.MediaStyle
的 ClassVerificationFailure。
版本 1.4.0
2021 年 7 月 21 日
发布了 androidx.media:media:1.4.0
。版本 1.4.0 中包含这些提交内容。
自 1.3.0 以来的重要变更
- 添加了新的软件包键
METADATA_KEY_SERIES_CONTENT_ID
,用于 MediaMetadataCompat 中电视连续剧的媒体内容 ID - 添加了新的软件包键
METADATA_KEY_NEXT_EPISODE_CONTENT_ID
,用于 MediaMetadataCompat 中电视剧集的下一集内容 ID - 弃用了
MediaControllerCompat.TransportControls#EXTRA_LEGACY_STREAM_TYPE
,改为添加MediaConstants#TRANSPORT_CONTROLS_EXTRAS_KEY_LEGACY_STREAM_TYPE
- 为 playFromUri 添加了一个用于随机播放媒体的额外键
- 向 Result 类添加了 @Nullable 注解
- 为 MediaButtonReceiver 解决了缺少 intent 的
EXTRA_KEY_EVENT
的问题
版本 1.4.0-rc01
2021 年 6 月 30 日
发布了 androidx.media:media:1.4.0-rc01
,该版本与 1.4.0-beta01
相比没有变化。版本 1.4.0-rc01 中包含这些提交内容。
版本 1.4.0-beta01
2021 年 6 月 17 日
发布了 androidx.media:media:1.4.0-beta01
。版本 1.4.0-beta01 中包含这些提交内容。
API 变更
添加了新的软件包键
METADATA_KEY_SERIES_CONTENT_ID
,用于MediaMetadataCompat
中电视连续剧的媒体内容 ID添加了新的软件包键
METADATA_KEY_NEXT_EPISODE_CONTENT_ID
,用于MediaMetadataCompat
中电视剧集的下一集内容 ID
版本 1.4.0-alpha01
2021 年 5 月 5 日
发布了 androidx.media:media:1.4.0-alpha01
。版本 1.4.0-alpha01 中包含这些提交内容。
API 变更
- 弃用了
MediaControllerCompat.TransportControls#EXTRA_LEGACY_STREAM_TYPE
,改为添加MediaConstants#TRANSPORT_CONTROLS_EXTRAS_KEY_LEGACY_STREAM_TYPE
(I62f17) - 为 playFromUri 添加了一个用于随机播放媒体的额外密钥 (Ibc63c)
- 向 Result 类添加了 @Nullable 注解 (I2d617)
bug 修复
- 为 MediaButtonReceiver 解决了缺少 intent 的
EXTRA_KEY_EVENT
的问题 (If7557)
版本 1.3.1
版本 1.3.1
2021 年 5 月 5 日
发布了 androidx.media:media:1.3.1
。版本 1.3.1 中包含这些提交内容。
bug 修复
- 为 MediaButtonReceiver 解决了缺少 intent 的 EXTRA_KEY_EVENT 的问题 (If7557)
版本 1.3.0
版本 1.3.0
2021 年 4 月 7 日
发布了 androidx.media:media:1.3.0
。版本 1.3.0 中包含这些提交内容。
自 1.2.0 以来的重要变更
- 将 Android Auto extras 迁移到了 MediaConstants。
版本 1.3.0-rc02
2021 年 3 月 24 日
发布了 androidx.media:media:1.3.0-rc02
。版本 1.3.0-rc02 中包含这些提交内容。
bug 修复
- 将
FLAG_IMMUTABLE
设为 MediaButtonReceiver 的 PendingIntent(以 Android 12 作为目标版本的应用必须这样设置)。 - 修复了采用 API 27 的
MediaSessionCompat
在setCallback(null)
之后出现的NullPointerException
问题。
版本 1.3.0-rc01
2021 年 3 月 10 日
发布了 androidx.media:media:1.3.0-rc01
。版本 1.3.0-rc01 中包含这些提交内容。
自 1.3.0-beta01
以来没有任何变化。
版本 1.3.0-beta01
2021 年 2 月 10 日
发布了 androidx.media:media:1.3.0-beta01
。版本 1.3.0-beta01 中包含这些提交内容。
API 变更
- 添加了新的常量
PlaybackStateCompat.ACTION_SET_PLAYBACK_SPEED
(I9d076) - 将 Android Auto extras 迁移到了 MediaConstants。(I290ab)
- 添加了用于约束 MediaBrowserService 的根子级的常量。(Ifcebd)
bug 修复
- 为媒体按钮待处理 intent 添加了
FLAG_RECEIVER_FOREGROUND
。
版本 1.2.1
Media 版本 1.2.1
2020 年 12 月 2 日
发布了 androidx.media:media:1.2.1
。版本 1.2.1 中包含这些提交内容。
bug 修复
- 修复了在 API 27 中调用
MediaSessionCompat#setCallback(null)
后出现的 NPE 问题
版本 1.2.0
版本 1.2.0
2020 年 9 月 16 日
发布了 androidx.media:media:1.2.0
。版本 1.2.0 中包含这些提交内容。
自 1.1.0 以来的重要变更
- 新增了对低于 SDK 21 的版本的
AudioAttributesCompat#setLegacyStreamType
支持 - 支持对
androidx.mediarouter
库进行音量控制 - 更好地支持
androidx.media
和androidx.media2
之间的互操作性
版本 1.2.0-rc01
2020 年 9 月 2 日
发布了 androidx.media:media:1.2.0-rc01
,该版本与 1.2.0-beta01
相比没有变化。版本 1.2.0-rc01 中包含这些提交内容。
版本 1.2.0-beta01
2020 年 8 月 19 日
发布了 androidx.media:media:1.2.0-beta01
。版本 1.2.0-beta01 中包含这些提交内容。
新功能
- 针对 API 级别 21 之前的版本,新增了对
AudioAttributesCompat#setLegacyStreamType
的支持
API 变更
- 为
PlaybackStateCompat
extra 中的媒体 ID 添加了MediaConstants#PLAYBACK_STATE_EXTRAS_KEY_MEDIA_ID
,该 ID 应与当前元数据的MediaMetadataCompat#METADATA_KEY_MEDIA_ID
相同。
bug 修复
- 修复了
AudioAttributesCompat.Builder#setContentType
存在的问题
版本 1.2.0-alpha04
2020 年 6 月 24 日
发布了 androidx.media:media:1.2.0-alpha04
。版本 1.2.0-alpha04 中包含这些提交内容。
新功能
- 提供了一种支持 Mediarouter 库的音量控制的方法
API 变更
- 添加了
AudioManagerCompat#getStreamMaxVolume
- 添加了
AudioManagerCompat#getStreamMinVolume
bug 修复
- 修复了低于 SDK 21 的版本上 media 和 media2 之间的互操作性问题
版本 1.2.0-alpha03
2020 年 6 月 10 日
发布了 androidx.media:media:1.2.0-alpha03
。版本 1.2.0-alpha03 中包含这些提交内容。
API 变更
MediaConstants.SESSION_EXTRAS_KEY_AUTHTOKEN
已被移除
bug 修复
- 修复了
RemoteUserInfo
的equals()
存在的问题
版本 1.2.0-alpha02
2020 年 4 月 15 日
发布了 androidx.media:media:1.2.0-alpha02
。版本 1.2.0-alpha02 中包含这些提交内容。
bug 修复
- 防止修改 VersionedParcelable 类
版本 1.2.0-alpha01
2019 年 10 月 23 日
发布了 androidx.media:media:1.2.0-alpha01
。版本 1.2.0-alpha01 中包含这些提交内容。
API 变更
- 添加了以下方法:
MediaSessionCompat.Callback.onSetPlaybackSpeed()
MediaControllerCompat.setPlaybackSpeed()
MediaControllerCompat.getSessionInfo()
bug 修复
- 实施了防止在通过 IPC 调用传递 Bundle 对象时出现
BadParcelableException
的预防措施 MediaControllerCompat
的构造函数不再抛出RemoteException
- 实施了防止在
MediaSessionCompat.release()
之后调用回调方法的预防措施
版本 1.1.0
版本 1.1.0
2019 年 9 月 5 日
发布了 androidx.media:media:1.1.0
。点击此处可查看此版本中包含的提交内容。
自 1.0.0 以来的重要变更
- 引入了
AudioAttributesCompat
版本 1.1.0-rc01
2019 年 6 月 13 日
发布了 androidx.media:media:1.1.0-rc01
,该版本与 1.1.0-beta02
相比没有变化。点击此处可查看此版本中包含的提交内容。
版本 1.1.0-beta02
2019 年 6 月 5 日
发布了 androidx.media:media:1.1.0-beta02
。点击此处可查看此版本中包含的提交内容。
bug 修复
media2-session
使用的隐藏方法的限制范围已放宽到LIBRARY_GROUP_PREFIX
。
版本 1.1.0-beta01
2019 年 5 月 7 日
发布了 androidx.media:media:1.1.0-beta01
。点击此处可查看此版本中包含的提交内容。
新功能
- 对于标记为
@NonNull
的 null 参数,已将IllegalPointerException
更改为NullPointerException
。
版本 1.1.0-alpha04
2019 年 4 月 3 日
发布了 androidx.media:media:1.1.0-alpha04
。点击此处可查看此版本中包含的提交内容。
bug 修复
- 略微调整了 version-compat-test 常量 (aosp/933656)
版本 1.1.0-alpha03
2019 年 3 月 21 日
发布了 androidx.media:media:1.1.0-alpha03
。点击此处可查看此版本中包含的完整提交内容列表。
bug 修复
- 修复了在多个
MediaBrowserCompat
尝试连接到MedaBrowserServiceCompat
时后者发生崩溃的问题。(aosp/930246)
版本 1.1.0-alpha02
2019 年 3 月 13 日
发布了 androidx.media:media:1.1.0-alpha02
。点击此处可查看此版本中包含的完整提交内容列表。
bug 修复
- 修复了连接时
MediaBrowserCompat
发生崩溃的问题 - 修复了
getCurrentBrowserInfo()
/getBrowserRootHints()
中发生的IllegalStateException
- 使
MediaBrowserServiceCompat.getCurrentBrowserInfo()
针对onGetRoot()
中的相同MediaBrowserCompat
返回相同的RemoteUserInfo
实例
版本 1.0.1
版本 1.0.1
2019 年 1 月 30 日
发布了 androidx.media:media 1.0.1
。
bug 修复
- 修复了使用
MediaBrowserCompat.connect()
时出现的 IllegalStateException 意外 bug (aosp/858075)
版本 1.0.0
版本 1.0.0-alpha06
2018 年 12 月 17 日
API 变更
按以下方式对 media.widget
软件包和类进行了重命名:
androidx.media.widget.VideoView2
→androidx.media2.widget.VideoView
androidx.media.widget.MediaControlView2
→androidx.media2.widget.MediaControlView
版本 1.0.0-alpha01
2018 年 12 月 3 日
API 变更
- 弃用了两个
MediaSessionCompat
标记:FLAG_HANDLES_MEDIA_BUTTONS
FLAG_HANDLES_TRANSPORT_CONTROLS