产品资讯

Media3 1.10 已发布

阅读用时:2 分钟
查看 Andrew Lewis 的个人资料
Andrew Lewis 软件工程师

Media3 1.10 包含新功能、问题修复和功能改进,包括基于 Material3 的播放 widget、ExoPlayer 中扩展的格式支持,以及使用 Transformer 导出媒体时改进的速度调整。请继续阅读以了解详情,并查看完整的版本说明,了解变更的完整列表。

播放界面和 Compose

我们将继续扩展 media3-ui-compose-material3 模块,帮助您构建用于播放的 Compose 界面。

我们添加了一个新的播放器可组合项,它将 ContentFrame 与可自定义的播放控件相结合,为您提供具有现代界面的开箱即用播放器 widget。

此版本还添加了 ProgressSlider 可组合项,用于显示播放器进度,以及使用拖动和点按手势执行跳转。对于播放速度管理,基础 media3-ui-compose 模块中提供了新的 PlaybackSpeedControl,Material 3 模块中提供了带样式的 PlaybackSpeedToggleButton。

我们将在即将发布的 Media3 版本中继续添加新功能,例如曲目选择工具、字幕支持和更多自定义选项。我们非常期待收到您的反馈,因此请通过项目问题跟踪器分享您的想法。

large_media31.102.jpeg
 Media3 Compose 演示应用中的 Player 可组合项

播放功能增强

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,或者有任何疑问或功能请求,请通过问题跟踪器与我们联系。我们期待您的加入!

继续阅读