基于DirectShow的媒體播放器設(shè)計(jì).ppt

上傳人:tia****nde 文檔編號:14124726 上傳時間:2020-07-04 格式:PPT 頁數(shù):28 大小:2.22MB
收藏 版權(quán)申訴 舉報(bào) 下載
基于DirectShow的媒體播放器設(shè)計(jì).ppt_第1頁
第1頁 / 共28頁
基于DirectShow的媒體播放器設(shè)計(jì).ppt_第2頁
第2頁 / 共28頁
基于DirectShow的媒體播放器設(shè)計(jì).ppt_第3頁
第3頁 / 共28頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于DirectShow的媒體播放器設(shè)計(jì).ppt》由會員分享,可在線閱讀,更多相關(guān)《基于DirectShow的媒體播放器設(shè)計(jì).ppt(28頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、基于DirectShow的媒體播放器設(shè)計(jì),學(xué)號:200706705作者:國艷松,基于DirectShow的媒體播放器設(shè)計(jì),研究背景與意義開發(fā)相關(guān)技術(shù)DirectShow體系結(jié)構(gòu)播放器的功能設(shè)計(jì)智能連接DirectShow播放器的實(shí)現(xiàn)播放器系統(tǒng)演示,1.研究的背景與意義,隨著信息技術(shù)的發(fā)展,流媒體播放器迎來新的挑戰(zhàn)。DirectShow簡化多媒體應(yīng)用程序的開發(fā),不必考慮復(fù)雜的數(shù)據(jù)流格式和不同的終端設(shè)備,以及數(shù)據(jù)同步的問題。DirectShow給多媒體程序開發(fā)員提供了標(biāo)準(zhǔn)的、統(tǒng)一的、高效的API接口,2.開發(fā)相關(guān)技術(shù),DirectXSDK9.0微軟將DirectX定義為“硬件無關(guān)性”,從而提高設(shè)備

2、性能MicrosoftVisualC++6.0平臺Windows提供的可視化集成開發(fā)環(huán)境,3.DirectShow體系結(jié)構(gòu),COM組件FilterFilterGraphFilterGraphManager,3.1COM組件,是一種軟件架構(gòu),它規(guī)定了不同的對象使用統(tǒng)一的協(xié)議來進(jìn)行通訊的一套機(jī)制。COM組件的特點(diǎn)COM組件類型GUID,3.2過濾器(Filter),DirectShow是基于模塊化,每個功能模塊都采取COM組件方式,稱為過濾器(Filter)。Filter存在形式Filter分類Filter狀態(tài),3.3過濾器圖(FilterGraph),過濾器圖(FilterGraph)是過濾器(

3、Filter)的容器。過濾器圖作用過濾器圖數(shù)據(jù)傳輸模式過濾器圖狀態(tài),3.4過濾器圖管理器(FilterGraphManager),應(yīng)用程序用于控制過濾器圖和過濾器的COM組件。過濾器圖管理器功能:1:狀態(tài)改變2:參考時鐘3:Graph事件,4.播放器的功能設(shè)計(jì),本論文中要求基于DirectShow設(shè)計(jì)播放器,根據(jù)對媒體的分析得到系統(tǒng)的主要功能如下:,媒體播放器,播放器的基本功能,截圖功能,全屏功能,聲音控制功能,換膚功能,播放模式控制,播放列表操作,6.智能連接,是構(gòu)建FilterGraph的一種方法智能連接的優(yōu)點(diǎn)1:與傳統(tǒng)方法相比,具有智能化2:避免了代碼冗余智能連接原理,7.DirectS

4、how應(yīng)用程序開發(fā),創(chuàng)建過濾器管理器實(shí)例使用過濾器管理器構(gòu)建過濾器圖過濾器管理器控制過濾器圖和流數(shù)據(jù)通過過濾器。應(yīng)用程序釋放過濾器管理器和所有的過濾器。,7.1創(chuàng)建過濾器管理器實(shí)例,首先初始化DirectXSDK動態(tài)庫:CoCreateInstance(CLSID_FilterGraph,NULL,CLSCTX_INPROC_SERVER,IID_IGraphBuilder,(void**)&mGraph),7.2應(yīng)用程序構(gòu)建過濾器圖,利用IGraphBuilder::RenderFile函數(shù),進(jìn)行智能連接該參數(shù)提供源文件名,自動加入必要的Filter完成這個文件的回放FilterGraph構(gòu)

5、建。RenderFile函數(shù)機(jī)理:分析文件路徑中是否有協(xié)議名(如http、ftp),如果有,則在注冊表的位置下尋找這個協(xié)議名,找到了則使用SourceFilter鍵值指定的CLSID。找不到的情況下,F(xiàn)ilterGraphManager就創(chuàng)建一個成為FileSource的Filter。,7.2應(yīng)用程序構(gòu)建過濾器圖,文件路徑中不包括協(xié)議名,F(xiàn)ilterGraph就分析這個文件的擴(kuò)展名,然后到注冊表中區(qū)匹配擴(kuò)展名。如果找到了,就根據(jù)SourceFilter鍵值指定的CLSID創(chuàng)建Filter。若找不到,F(xiàn)ilterGraphManager就進(jìn)行文件的校驗(yàn)字節(jié)判斷。如果沒有符合的,SourceFil

6、ter就要創(chuàng)建一個FileSource的Filter.,7.2應(yīng)用程序構(gòu)建過濾器圖,IGraphBuilder::RenderFile使用上述方法檢測文件的類型,確定并找到正確的源過濾器(SourceFilter)。確定源過濾器(SourceFilter)后,就從源過濾器(SourceFilter)的各個輸出Pin開始,進(jìn)行剩下的智能連接過程。這是一個“遞歸過程”,直到所有的分支都連接到一個RenderingFilter上為止。,8.3智能連接構(gòu)建FilterGraph,在操作系統(tǒng)中,通過安裝各種媒體軟件和DirectShow開發(fā)包,就會存在了大量的實(shí)現(xiàn)特定功能的Filter,利用這些己有Fi

7、lter,可以開發(fā)各個功能的應(yīng)用程序,提高了開發(fā)效率。利用FilterGraphManager組建FilterGraph時,尋找Filter是程序開發(fā)的關(guān)鍵。那DirectShow是如何尋找Filter?,8.3智能連接構(gòu)建FilterGraph,DirectShow提供了兩種枚舉Filter的方法。一種是利用系統(tǒng)設(shè)備枚舉器(SystemDeviceEnumerator),通過Filter的分類枚舉各種過濾器。另一種方法是通過過濾器圖,根據(jù)程序提供的搜索條件尋找合適的過濾器。搜尋到合適的Filter后,利用FilterGraphManager的IFilterGraph接口實(shí)現(xiàn)該Filter的添

8、加。Filter之間的連接,也是通過FilterGraphManager所提供的COM接口實(shí)現(xiàn)的。,8.3智能連接構(gòu)建FilterGraph,IGraphBuilder::RenderFile是根據(jù)文件媒體類型利用智能連接機(jī)制構(gòu)造了一個能夠播放特定文件的FilterGraph。播放的準(zhǔn)備工作完成后,就可以利用IMediaControl::Run方法讓FilterGraph進(jìn)入運(yùn)行模式,使媒體數(shù)據(jù)開始在FilterGraph中流動。主要代碼如下:mGraph-QueryInterface(IID_IMediaControl,(void**)//對FilterGraph中的媒體流進(jìn)行控制,截圖實(shí)現(xiàn)

9、,從FilterGraphManage中可以獲取IBasicVideo接口,這個接口支持通用的視頻窗口的視頻屬性,當(dāng)視頻提交過濾器處于連接狀態(tài)時,可以使用接口方法GetCurrentImage返回,在提交過濾器中等待的當(dāng)前圖片的副本,達(dá)到抓取圖片的目的。另外,F(xiàn)ilters之間是以Sample的形式傳送數(shù)據(jù)的,Sample是一個封裝了一定大小數(shù)據(jù)內(nèi)存的COM組件。當(dāng)Graph構(gòu)建成功之后,Sample從上一級的輸出Pin傳送給下一級的輸入Pin。因此,同樣可以通過抓取Sample的方式,在視頻流中抓取圖片。,9播放器系統(tǒng)演示,換膚演示,打開文件演示,截圖界面,聲道/聲音控制,總結(jié),流媒體的應(yīng)用方興未艾,各種基于流媒體的應(yīng)用研究正成為熱點(diǎn),取得的成果是有目共睹,而定制組件開發(fā)技術(shù)必將在流媒體應(yīng)用中發(fā)揮更為廣泛的作用。DirectShowSDK是基于COM組件,該技術(shù)是開發(fā)多媒體的一個行之有效的方法。目前,網(wǎng)絡(luò)上多媒體數(shù)據(jù)的急劇增大,以及對實(shí)時性需求的增加,使得DirectShow越來越廣泛地應(yīng)用在媒體播放程序中。在未來幾年中,DirectShow技術(shù)的發(fā)展前景相當(dāng)廣闊。,致謝,感謝指導(dǎo)老師感謝評委感謝我的朋友和同學(xué),

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!