多媒体科技Android开发经验谈Android开发

GSYVideoPlayer项目说明

2018-05-11  本文已影响458人  恋猫月亮

GSYVideoPlayer项目说明(Beta1)

项目经过多版本调整之后,目前大致结构分为如下 :

结构如下图:

结构图

* 管理层GSVideoManager继承GSYVideoBaseManager,通过IPlayerManager控制播放内核。

* 管理层GSVideoManager实现了GSYVideoViewBridge,和UI层交互(主要通过UI层的GSYVideoPlayer)。

* Cache层主要是对缓存的实现和管理,目前有通用的代理缓存,与exo的CacheDataSourceFactory。

* UI层GSYTextureRenderView通过GSYRenderView,内置IGSYRenderView实现类,和渲染层交互。

* UI层逐层继承实现各层逻辑,内部大部分方法为protect。

从这里看出,项目的播放内核、管理器、渲染层都是可以自定义替换的。

自定义流程

1、通过API实现

项目目前内部主要提供控制API和少量配置API:
API地址

2、通过继承实现自定义UI

项目目前UI层大部分方法和变量都是protect,虽然就封装性而言这并不是很好,但你可以继承后快捷实现你的自定义。

例如:

3、通过替换实现

如上图所示,前面说过播放内核Player层、Manger层、渲染层都是可以替换的,只要实现了对应的接口,继承后替换对应的实现类,就可以替换对应层的内部实现逻辑。
例如Demo中: ListMultiVideoActivityCustomManagerMultiSampleVideo 就演示了如何通过自定义Manager实现,多个播放内核同时播放的效果。

4、整套的自定义demo

演示整套自定义的Demo

5、还无法解决(`・ω・´),那就提个issue吧!

上一篇 下一篇

猜你喜欢

热点阅读