項(xiàng)目效果展示(運(yùn)行環(huán)境雷電模擬器)
BoPlayer.gif
項(xiàng)目類(lèi)圖
這是整個(gè)項(xiàng)目的類(lèi)圖
BoPlayer類(lèi)圖.png
模塊介紹
- IDemux : 解封裝模塊
- IDecode : 解碼模塊
- IReasample : 重采樣模塊
- IVideoView : 視頻渲染顯示模塊
- IAudioPlay : 音頻播放模塊
項(xiàng)目中用到的設(shè)計(jì)模式
Adapter適配器模式 : 封裝FFmpeg, OpenGLES, OpenGLES
解耦性 : 目標(biāo)和適配者解耦
開(kāi)閉原則 : ( 擴(kuò)展寥粹、修改 ) Target代碼和客戶(hù)調(diào)用代碼不
用修改世杀,不同的適配者添加適配器-
適配器模式示意圖
適配器模式.png Adaptee適配者可能是第三方的模塊或控件等
-
項(xiàng)目實(shí)際使用的適配器模式示意圖, IDemux為T(mén)arget, FFDemux為適配器, FFmpeg為適配者
BoPlayer適配器模式.png -
Builder構(gòu)建者模式:構(gòu)建播放器對(duì)象
建造者模式.png -
Observer觀察者模式:模塊間通信
觀察者模式.png -
Proxy代理模式:管理播放器創(chuàng)建和線程安全
Proxy代理模式.png -
Facade外觀(門(mén)面)模式:播放器管理解封裝糯耍、解碼、重采樣恤浪、顯示、音頻播放
門(mén)面模式.png Singleton單例模式 : 唯一的構(gòu)建者對(duì)象
生產(chǎn)者消費(fèi)者模式:解封模塊生產(chǎn)數(shù)據(jù)包,解碼模塊消費(fèi)解碼
播放媒體文件的順序圖
播放媒體文件順序圖.png