支持的设备

ExoPlayer 核心用例所需的最低 Android 版本为:

用例 Android 版本号 Android API 级别
音频回放 4.1 16
视频播放 4.1 16
DASH(无 DRM) 4.1 16
DASH(Widevine CENC;“cenc”方案) 4.4 19
DASH(Widevine CENC;“cbcs”方案) 7.1 25
DASH(ClearKey;“cenc”方案) 5.0 21
流畅(无 DRM) 4.1 16
SmoothStreaming(PlayReady SL2000;“cenc”方案) Android TV Android TV
HLS(无 DRM) 4.1 16
HLS(AES-128 加密) 4.1 16
HLS(Widevine CENC;“cenc”方案) 4.4 19
HLS(Widevine CENC;“cbcs”方案) 7.1 25

对于特定用例,我们的目标是在满足最低版本要求的所有 Android 设备上支持 ExoPlayer。下面列出了一些已知的设备特定兼容性问题。Media3 GitHub 问题跟踪器旧版 ExoPlayer GitHub 问题跟踪器中也列出了设备特定问题。

  • FireOS(版本 4 及更早版本):虽然我们会尽力支持 FireOS 设备,但 FireOS 是 Android 的一个分支,因此我们无法提供支持。FireOS 上遇到的设备特定问题通常是由 FireOS 为运行 Android 应用提供的支持不兼容造成的。此类问题应在第一个实例中报告给 Amazon。我们已经注意到,一些问题会影响 FireOS 4 及更早版本。我们认为 FireOS 版本 5 已解决这些问题。
  • Nexus Player(仅限使用 HDMI 转 DVI 数据线时):存在一个会影响 Nexus Player 的已知问题,此问题只会在设备使用特定类型的 HDMI 到 DVI 数据线连接到显示器的情况下导致视频播放过快。对于最终用户的设置,使用 HDMI 转 DVI 的数据线不切实际,因为此类数据线无法承载音频。因此,可以放心地忽略此问题。我们建议使用真实的最终用户设置(例如,使用标准 HDMI 数据线连接到电视的设备)进行开发和测试。
  • 模拟器:某些 Android 模拟器无法正确实现 Android 媒体堆栈的组件,因此不支持 ExoPlayer。这是模拟器(而不是 ExoPlayer)的问题。Android 的官方模拟器(Android Studio 中的虚拟设备)支持 ExoPlayer,前提是系统映像的 API 级别至少为 23。API 级别较低的系统映像不支持 ExoPlayer。第三方模拟器提供的支持级别各不相同。在第三方模拟器上运行 ExoPlayer 的问题应报告给模拟器的开发者,而不是 ExoPlayer 团队。建议您尽可能在实体设备(而非模拟器)上测试媒体应用。