项目效果展示(运行环境雷电模拟器)

FFmpeg安卓流媒体播放项目概述

项目类图

这是整个项目的类图

FFmpeg安卓流媒体播放项目概述

模块介绍

  • IDemux : 解封装模块
  • IDecode : 解码模块
  • IReasample : 重采样模块
  • IVideoView : 视频渲染显示模块
  • IAudioPlay : 音频播放模块

项目中用到的设计模式

  • Adapter适配器模式 : 封装FFmpeg, OpenGLES, OpenGLES

  • 解耦性 : 目标和适配者解耦

  • 开闭原则 : ( 扩展、修改 ) Target代码和客户调用代码不
    用修改,不同的适配者添加适配器

  • 适配器模式示意图
    FFmpeg安卓流媒体播放项目概述

  • Adaptee适配者可能是第三方的模块或控件等

  • 项目实际使用的适配器模式示意图, IDemux为Target, FFDemux为适配器, FFmpeg为适配者
    FFmpeg安卓流媒体播放项目概述

  • Builder构建者模式:构建播放器对象
    FFmpeg安卓流媒体播放项目概述

  • Observer观察者模式:模块间通信
    FFmpeg安卓流媒体播放项目概述

  • Proxy代理模式:管理播放器创建和线程安全
    FFmpeg安卓流媒体播放项目概述

  • Facade外观(门面)模式:播放器管理解封装、解码、重采样、显示、音频播放
    FFmpeg安卓流媒体播放项目概述

  • Singleton单例模式 : 唯一的构建者对象

  • 生产者消费者模式:解封模块生产数据包,解码模块消费解码

播放媒体文件的顺序图

FFmpeg安卓流媒体播放项目概述

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-05-15
  • 2021-12-22
  • 2021-04-04
  • 2021-10-30
  • 2021-12-12
猜你喜欢
  • 2021-11-02
  • 2022-12-23
  • 2021-12-12
  • 2022-12-23
  • 2021-11-29
  • 2022-12-23
相关资源
相似解决方案