随着快手,抖音,西瓜视频等视频APP的崛起,视频播放已经成为主流,此时作为Android研发的你,想要提高自己的能力还不知道怎么开发视频播放器怎么行?所以今天就带着大家一起开发一个简易播放器:SmallVideoPlayer
需求分析
我们观察一个视频播放器,可以看到视频播放器除了正在播放的视频还有很多控件,比如播放按钮,暂停按钮,播放进度条,播放计时器等。
这么多控件显然无法播放视频,但是他们都在控制视频的播放。由此可见视频播放器可以分为两层,一层为视频播放器控制层,一层为真正的视频播放层。
所以实现视频播放器的时候就可以分为上层控制层,和底层播放层两层来实现。
视频播放器播放层实现
技术沉淀
视频播放内核
我们知道自己开发视频播放器内核肯定是不现实的,这需要一定的技术成本,单个人很难达到,所以我们就选择一个最受欢迎的开源的内核即可:bilibili开源的视频播放器:ijkplayer
视频播放器
视频播放这块需要给大家普及两个知识点:
SurfaceView
先来介绍一下大部分软件如何解析一段视频流。首先它需要先确定视频的格式,这个和解码相关,不同的格式视频编码不同,不是这里的重点。知道了视频的编码格式后,再通过编码格式进行解码,最后得到一帧一帧的图像,并把这些图像快速的显示在界面上,