支持的设备

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

用例 Android 版本 API 级别
音频播放 5.0 21
音频播放(使用卸载) 10 29
视频播放 5.0 21
视频播放(带效果) 5.0 21
视频播放(HDR) 7.0 24
DASH(无 DRM) 5.0 21
DASH (Widevine CENC; "cenc" 方案) 5.0 21
DASH (Widevine CENC; "cbcs" 方案) 7.1 25
DASH (ClearKey; "cenc" 方案) 5.0 21
SmoothStreaming(无 DRM) 4.4 19
SmoothStreaming (PlayReady; "cenc" 方案) Android TV Android TV
HLS(无 DRM) 5.0 21
HLS (AES-128 加密) 5.0 21
HLS (Widevine CENC; "cenc" 方案) 4.4 19
HLS (Widevine CENC; "cbcs" 方案) 7.1 25

对于给定的用例,我们的目标是在所有满足最低版本要求的 Android 设备上支持 ExoPlayer。已知设备特有问题列在 Media3 GitHub 问题跟踪器旧版 ExoPlayer GitHub 问题跟踪器上。

模拟器

某些 Android 模拟器未能正确实现 Android 媒体堆栈的组件,因此不支持 ExoPlayer。这是模拟器的问题,而非 ExoPlayer 的问题。Android 官方模拟器(Android Studio 中的“虚拟设备”)支持 ExoPlayer,前提是系统映像的 API 级别至少为 23。较早 API 级别的系统映像不支持 ExoPlayer。第三方模拟器提供的支持程度各不相同。在第三方模拟器上运行 ExoPlayer 时遇到的问题应向模拟器开发者报告,而不是向 ExoPlayer 团队报告。在可能的情况下,我们建议在物理设备而非模拟器上测试媒体应用。