c#中用DirectShow實(shí)現(xiàn)媒體播放器的核心_第1頁
c#中用DirectShow實(shí)現(xiàn)媒體播放器的核心_第2頁
c#中用DirectShow實(shí)現(xiàn)媒體播放器的核心_第3頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

c#中用DirectShow實(shí)現(xiàn)媒體播放器的核心(1)DirectShow簡介用.net做多媒體開發(fā)的似乎不多,所以網(wǎng)上資源也少,看的人更少。不過我的博客上居然還有幾位在等新文章的人,有點(diǎn)出乎我的意料了。目前我已不再從事多媒體相關(guān)的工作,加入新公司至今都忙到吐血,再加上害怕水平不夠誤人子弟,所以一直都沒有更新這個(gè)系列。但是之前有承諾過得著空就一定要更新,現(xiàn)在總算稍微空了那么一點(diǎn)點(diǎn),繼續(xù)爛著這個(gè)坑的理由就沒有了。DirectShow是微軟平臺上處理多媒體相關(guān)事務(wù)的一個(gè)平臺,本身是基于COM技術(shù)上的框架,所以可以和.net配合的非常好。在這套框架里,多媒體相關(guān)事務(wù)被分成一個(gè)一個(gè)的子任務(wù),每個(gè)任務(wù)都放在一些名為Filter的COM組件里。如果你只是做一些簡單的工作,那么微軟自帶的那些filter估計(jì)已經(jīng)夠用了;但是如果你還有更高級的任務(wù)要完成,那么寫filter估計(jì)就不可避免了。在陷入到細(xì)節(jié)的泥潭之前,我們先給DirectShow拍個(gè)快照以便有一個(gè)整體的印象。一開始火星人用竹竿捅下地球人的探測器后,在里面發(fā)現(xiàn)了一張光盤,火星人的計(jì)算機(jī)水平都巨高無比,他們在硬盤上用小刀刻一個(gè)操作系統(tǒng)只需要三分鐘(相信我,還是破解版的),他們很想看看光盤里的內(nèi)容,因?yàn)榛鹦侨耸侨绱说耐?,以至于飯島愛去世的新聞都不知道,還都在等她的無碼片?,F(xiàn)在他們有操作系統(tǒng)了,他們也有光驅(qū),他們什么都有,可是他們沒有播放器。火星人上有個(gè)廣電不急,時(shí)刻準(zhǔn)備把那一小撮不明真相的不看電視的群眾消滅干凈?;鹦侨酥豢措娨???墒窃陲垗u愛面前,廣電不急一敗涂地,火星人打算用他們的智慧開發(fā)出一款播放器,來觀看精彩的飯島愛無碼片,他們不怕死。很快他們就畫出了草圖:后來火星人發(fā)現(xiàn)把所有的功能都放到一個(gè)盒子里不好。雖然沒有老板檢測他們的代碼,逼他們加班重寫,扣他們工資,但他們都是計(jì)算機(jī)水平巨高無比的生物,他們甚至知道27種設(shè)計(jì)模式,他們?nèi)淌懿涣巳绱顺舐拇a。火星人中最頂尖的精英們在火星人領(lǐng)袖的“帶三個(gè)表”理論中悟出真理,他們認(rèn)為,把盒子分成三部分一定是完美無缺的,于是他們又畫出了這樣的草圖:

富有遠(yuǎn)見的火星人料想到播放的源一定會變,必須在源上抽象出一個(gè)名叫CaptureFilter的東西來。他們還專門給聲卡顯卡等硬件抽象出一個(gè)RenderFilter,因?yàn)榛鹦巧系牡窨碳胰昼娋湍艿窨坛鲆豢钚碌穆暱ɑ蛘唢@卡,他們還向全火星人民保證,堅(jiān)決不跟低版本的硬件相兼容。剩下所有的邏輯都塞在名為TransferFilter的小黑盒子里。再后來火星人在眼睛更重要還是耳朵更重要的原則問題上一直有分歧,后來這種分歧越來越大,以至于到了不可調(diào)和的程度。他們終于分裂成了眼睛派和耳朵派。十分不幸的是,最初開發(fā)播放器的那兩個(gè)核心火星人分屬于不同的派另他們互相看不起對方,認(rèn)為自己的TransferFilter居然有異教徒參與,根本就是對自己的侮辱,所以在一個(gè)月黑風(fēng)高的夜晚,他們把TransferFilter也分裂了:在名為Demux的小屋里,多媒體流被分成了視頻流和音頻流兩路,從此分道揚(yáng)鑣老死不相往來,但是每天新聞不聯(lián)播之后整點(diǎn)報(bào)時(shí)那會兒,他們倆卻會不約而同的掏出手表校對時(shí)間,仿佛冥冥中有人安排了他們的命運(yùn)一樣(Demux在后面哈哈獰笑)。最后源于想看飯島愛的這款播放器越來越流行,以至于所有的火星人都擁有一款。火星上的五毛黨為了讓更多的火星人能用播放器傾聽老大哥的教誨,開發(fā)出了接收地面電視信號的Capturefilter?;鹦侨瞬痪弥筮€發(fā)明了網(wǎng)絡(luò),見網(wǎng)游吐過三次血的一猥瑣男在第一時(shí)間開發(fā)了接收網(wǎng)絡(luò)信號的CaptureFilter。

如此等等。隨著時(shí)間的流失,最初只有一條的多媒體流分支越來

溫馨提示

  • 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論