Skip to content

Related introduction

贾俊辉 edited this page Sep 19, 2020 · 1 revision

介绍

PlayerBase是一种将解码器和播放视图组件化处理的解决方案框架。您需要什么解码器实现抽象引入即可,对于视图,无论是播放器内的控制视图还是业务视图,均可以做到组件化处理。将播放器的开发变得清晰简单,更利于产品的迭代。

PlayerBase不会为您做任何多余的功能业务组件,有别于大部分播放器封装库的通过配置或者继承然后重写然后定制你需要的功能组件和屏蔽你不需要的功能组件(low!!!)。正确的方向应该是需要什么组件就拓展添加什么组件,而不是已经提供了该组件去选择用不用。

框架内包含系统MediaPlayer的解码实现,demo里面包含IJKPlayerExoPlayer的解码方案的实现和接入,请参见源码可以接入其他播放器解码方案。

demo示例集成了播放控制组件ControllerCover、加载中组件LoadingCover、手势处理组件GestureCover、播放完成提示组件CompleteCover、错误提示组件ErrorCover等。

如果不满足您的需求。没问题,所有UI功能组件您可完全自定义接入并无缝对接播放事件。

功能特色

  • 视图的组件化处理
  • 视图组件的高复用、低耦合
  • 解码方案的组件化、配置化管理
  • 视图组件的完全定制
  • 视图组件的热插拔,用时添加不用时移除
  • 自定义接入各种解码方案
  • 解码方案的切换
  • 支持倍速播放
  • 支持Window模式播放
  • 支持Window模式的无缝续播
  • 支持列表模式的无缝续播
  • 支持跨页面无缝续播
  • 支持调整画面显示比例
  • 支持动态调整渲染视图类型
  • 支持VideoView切角处理,边缘阴影效果
  • 提供自定义数据提供者
  • 支持内存播放记录
  • 统一的事件下发机制
  • 扩展事件的添加
  • 等功能……

特色

完全将解码器与播放视图组件化处理。不染指任何具体的业务,可随意接入其他播放器,组件完全由用户自定义,组件即插即用。让使用变的更加灵活。如下代码示例,需要什么视图就添加什么视图,不需要时可随时移除。

框架自带MediaPlayer解码,其他解码器的接入只需要实现框架定义的接口并做配置引入即可。

解码器的配置化管理,存在多种解码方案时,可随时切换解码器。

效果

Clone this wiki locally