项目效果展示(运行环境雷电模拟器)
BoPlayer.gif
项目类图
这是整个项目的类图
BoPlayer类图.png
模块介绍
- IDemux : 解封装模块
- IDecode : 解码模块
- IReasample : 重采样模块
- IVideoView : 视频渲染显示模块
- IAudioPlay : 音频播放模块
项目中用到的设计模式
Adapter适配器模式 : 封装FFmpeg, OpenGLES, OpenGLES
解耦性 : 目标和适配者解耦
开闭原则 : ( 扩展、修改 ) Target代码和客户调用代码不
用修改,不同的适配者添加适配器-
适配器模式示意图
适配器模式.png Adaptee适配者可能是第三方的模块或控件等
-
项目实际使用的适配器模式示意图, IDemux为Target, FFDemux为适配器, FFmpeg为适配者
BoPlayer适配器模式.png -
Builder构建者模式:构建播放器对象
建造者模式.png -
Observer观察者模式:模块间通信
观察者模式.png -
Proxy代理模式:管理播放器创建和线程安全
Proxy代理模式.png -
Facade外观(门面)模式:播放器管理解封装、解码、重采样、显示、音频播放
门面模式.png Singleton单例模式 : 唯一的构建者对象
生产者消费者模式:解封模块生产数据包,解码模块消费解码
播放媒体文件的顺序图
播放媒体文件顺序图.png