支持的设备

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

用例 Android 版本号 Android API 级别
音频播放 4.4 19
音频播放(使用卸载) 10 29
视频播放 4.4 19
视频播放(带效果) 4.4 19
视频播放(HDR) 7.0 24
DASH(无 DRM) 4.4 19
DASH(Widevine CENC;“cenc”方案) 4.4 19
DASH(Widevine CENC;“cbcs”方案) 7.1 25
DASH(ClearKey;“cenc”方案) 5.0 21
SmoothStreaming(无 DRM) 4.4 19
SmoothStreaming(PlayReady SL2000;“cenc”方案) Android TV Android TV
HLS(无 DRM) 4.4 19
HLS(AES-128 加密) 4.4 19
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 应用程序方面提供的支持中的不兼容性造成的。此类问题应首先报告给亚马逊。我们知道影响 FireOS 版本 4 及更早版本的问题。我们相信 FireOS 版本 5 解决了这些问题。
  • Nexus Player(仅在使用 HDMI 转 DVI 线缆时):当设备使用特定类型的 HDMI 转 DVI 线缆连接到显示器时,Nexus Player 存在一个已知问题,导致视频播放速度过快。对于最终用户设置而言,使用 HDMI 转 DVI 线缆是不现实的,因为此类线缆无法传输音频。因此,此问题可以安全地忽略。我们建议在开发和测试过程中使用现实的最终用户设置(例如,使用标准 HDMI 线缆将设备连接到电视)。
  • 模拟器:一些 Android 模拟器未正确实现 Android 媒体堆栈的组件,因此不支持 ExoPlayer。这是模拟器的问题,而不是 ExoPlayer 的问题。Android 的官方模拟器(Android Studio 中的“虚拟设备”)支持 ExoPlayer,前提是系统映像的 API 级别至少为 23。API 级别较早的系统映像不支持 ExoPlayer。第三方模拟器提供的支持级别各不相同。在第三方模拟器上运行 ExoPlayer 时遇到的问题应报告给模拟器开发人员,而不是报告给 ExoPlayer 团队。在可能的情况下,我们建议在物理设备上而不是在模拟器上测试媒体应用程序。