核心 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线缆时):已知Nexus Player存在一个问题,仅当设备使用某种类型的HDMI转DVI线缆连接到显示器时,才会导致视频播放速度过快。对于最终用户设置,使用HDMI转DVI线缆并不现实,因为此类线缆无法传输音频。因此,可以安全地忽略此问题。我们建议使用现实的最终用户设置(例如,使用标准HDMI线缆将设备连接到电视)进行开发和测试。
- 模拟器:一些Android模拟器未正确实现Android媒体堆栈的组件,因此不支持ExoPlayer。这是模拟器的问题,而不是ExoPlayer的问题。Android的官方模拟器(Android Studio中的“虚拟设备”)支持ExoPlayer,前提是系统映像的API级别至少为23。API级别较低的系统映像不支持ExoPlayer。第三方模拟器提供的支持级别各不相同。在第三方模拟器上运行ExoPlayer时遇到的问题应报告给模拟器开发人员,而不是ExoPlayer团队。在可能的情况下,我们建议在物理设备上而不是模拟器上测试媒体应用程序。