视频播放器框架已经非常成熟了,但是由于项目需求各种各样,第三方库使用起来需要大量修改定制,并且还会出现各种问题,因此把之前项目中开发的模块提取出来进行完善扩展,写了一套自研的播放框架,并且引入Jetpack,通过Lifecycle和LiveData,大大简化了资源监控和UI事件交互方式。目前框架已经稳定应用,所以接下来的时间计划整理出一系列文章,记录从零开始设计开发一个视频播放框架需要哪些知识点,开发过程中个人的一些见解,以及踩过的坑和注意事项。
目前规划本系列文章分12节:
LitePlayer框架介绍
一款播放器框架的结构组成(编写...)
播放核心逻辑设计(待编写)
播放管理者与内核选择设计(待编写)
播放状态监听与UI事件响应(待编写)
视频渲染容器设计(待编写)
视频比例模式原理和设计(待编写)
播放控制界面设计(待编写)
手势控制设计(待编写)
全屏播放设计(待编写)
小窗播放设计(待编写)
列表播放设计(待编写)
LitePlayer框架简介:
LitePlayer是一款Kotlin编写的,轻量简洁,接入简单的视频播放框架。
播放层和页面层之间使用LiveData 进行事件通信,页面销毁会自动释放事件。
内部通过Lifecycle监听页面生命周期,自动进行暂停,恢复,释放播放动作。
列表播放使用attachView方式绑定item视图,减少每个item视图的复杂度,提高列表渲染性能。
用户视图层使用组件添加方式,不同的视图层可以进行