1.ExoPlayer git 地址:https://github.com/google/ExoPlayer
2.ExoPlayer 开发者接入站点:https://exoplayer.dev/hello-world.html
3.ExoPlayer 类索引包:https://exoplayer.dev/doc/reference/
4.ExoPlayer 新版本优化博客:https://medium.com/google-exoplayer
这里面介绍了ExoPlayer每个版本的更新说明。
ExoPlayer 各个版本的更新日志:https://github.com/google/ExoPlayer/blob/release-v2/RELEASENOTES.md
5.ExoPlayer 各个版本的下载地址:https://github.com/google/ExoPlayer/releases

ExoPlayer项目结构图
demos工程中有3个子工程,main工程是主要的播放demo,播放使用的是ExoPlayer library中封装好的播放控件;cast工程是投屏和demo;surface工程是使用Android原生的surface来完成播放渲染的;
library工程是ExoPlayer的核心工程,里面主要实现ExoPlayer的一系列核心工作,主要如下:
- 支持HLS格式,负责解析、管理、播放HLS格式的视频,这里支持的非常全,例如#EXT-X-DISCONTINUITY等比较难支持的属性;
- 支持DASH格式,动态自适应播放流,这个控制逻辑非常复杂,但是ExoPlayer进行了较好的封装,我们暂时可以不关注它底层的实现,但是还需要知道其原理;
- 支持各种UI定制化控件,ExoPlayer给我们提供了很多定制化的控件,我们在开发中省去了很多事情。
extensions工程是ExoPlayer可扩展性的体现,里面可以支持各种扩展,对我们优化ExoPlayer 有很大的优势。