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