Media3 1.10 包含新功能、问题修复和功能改进,包括基于 Material3 的播放 widget、ExoPlayer 中扩展的格式支持,以及使用 Transformer 导出媒体时改进的速度调整。请继续阅读以了解详情,并查看完整的版本说明,了解变更的完整列表。
播放界面和 Compose
我们将继续扩展 media3-ui-compose-material3 模块,帮助您构建用于播放的 Compose 界面。
我们添加了一个新的播放器可组合项,它将 ContentFrame 与可自定义的播放控件相结合,为您提供具有现代界面的开箱即用播放器 widget。
此版本还添加了 ProgressSlider 可组合项,用于显示播放器进度,以及使用拖动和点按手势执行跳转。对于播放速度管理,基础 media3-ui-compose 模块中提供了新的 PlaybackSpeedControl,Material 3 模块中提供了带样式的 PlaybackSpeedToggleButton。
我们将在即将发布的 Media3 版本中继续添加新功能,例如曲目选择工具、字幕支持和更多自定义选项。我们非常期待收到您的反馈,因此请通过项目问题跟踪器分享您的想法。
播放功能增强
Media3 1.10 包含对播放模块的各种新增功能和改进:
- 格式支持:ExoPlayer 现在支持在 MP4 容器中提取 Dolby Vision Profile 10 和多功能视频编码 (VVC) 轨道,并且我们在 decoder_mpeghextension 中引入了 MPEG-H 界面管理器支持。IAMF 扩展程序现在可以无缝支持双耳输出,无论是通过解码器 viaiamf_tools 还是通过 Android OS Spatializer,都采用了新逻辑来匹配扬声器的输出布局。
- 广告播放:提高了可靠性,改进了 HLS 插播广告对 X-PLAYOUT-LIMIT 和 X-SNAP 的支持,并且借助最新的 IMA SDK 依赖项,您可以使用 setEnableCustomTabs 控制广告点击后到达网址是否在自定义标签页中打开。
HLS:ExoPlayer 现在允许在遇到加载错误时回退到其他位置(如果有来自不同位置的冗余串流)。
- 会话:MediaSessionService 现在扩展了 LifecycleService,允许应用访问服务的生命周期范围。
今年,我们的一个重点关注领域是播放效率和性能。Media3 1.10 包含对以更高效的方式调度核心播放循环的实验性支持。您可以通过 ExoPlayer.Builder 启用 experimentalSetDynamicSchedulingEnabled() 来试用此功能。我们计划在未来的版本中做出进一步改进,敬请期待!
媒体编辑和 Transformer
对于打造媒体编辑体验的开发者,我们增强了速度调整功能的稳定性。EditedMediaItem.Builder.setFrameRate() 现在可以为视频设置最大输出帧速率。当使用 setSpeed() 提高媒体播放速度时,这对于控制输出大小和保持性能特别有用。
用于提取帧和应用 Lottie 效果的新模块
在此版本中,我们将一些功能拆分到了新模块中,以缩小某些依赖项的范围:
- FrameExtractor 已从主 media3-inspector 模块中移除,因此请迁移您的代码以使用新的 media3-inspector-framemodule,并将导入更新为 androidx.media3.inspector.frame.FrameExtractor。
- 我们还将 LottieOverlay 效果移到了单独的 media3-effect-lottie 模块中。温馨提醒:通过此功能,您可以直接将基于矢量的 Lottie 动画应用到视频帧。
如果您遇到任何 bug,或者有任何疑问或功能请求,请通过问题跟踪器与我们联系。我们期待您的加入!
-
产品资讯随着智能体开发不断加速,Android 工程领域正迈向一个令人振奋的新境界:从辅助性代码补全,跃升至智能体在您的指挥下执行端到端任务。您可以完全自主、灵活地选择要使用的模型和智能体。
Jason Buchel • 阅读用时:3 分钟 -
产品资讯今天,我们分享了如何将“不只是商店”的愿景推进到下一个阶段。从月活跃用户数超过 2.5 亿的“我”标签页,到连接超过 7 亿玩家资料的统一游戏平台,Google Play 始终致力于满足用户的各种需求。
Paul Feng • 阅读用时:3 分钟 -
产品资讯我们很高兴能通过 Googlebook 帮助用户表达自我,并让他们能够使用这些工具。
Cyrus Stoller • 阅读用时:2 分钟
每周通过电子邮件接收最新的 Android 开发洞见。