DirectShow之介面實戰篇(一) (轉)

amyz發表於2007-08-14
DirectShow之介面實戰篇(一) (轉)[@more@]

DirectShow之介面實戰篇(一)

現今自己做一個多工具是一件很令人開心愉悅的事情,但如果使用MediaPlay開發則會受到很多限制,自己的很多好的創意想法都無法或者很難實現,如果利用的介面開發則可以充分的將作者的獨特想法付諸於實現,何樂而不為呢!!不過關於DirectShow介面的開發說明文件實在是少之又少,僅有的一些不是英文的就是一些關於理論方面的,真正關於介面實戰程式設計而且是用開發工具實現的更是鳳毛麟角,使很多人都望而卻步。在這裡,我把我應用Directshow開發的心得以及我搜集到一些資料重新整理編輯出來公佈,希望對所有由此興趣的同仁有所幫助,就算達到了我的目的。廢話少說,進入正文。:namespace prefix = o ns = "urn:schemas--com::office" />

  既然是介面實戰篇,就先把一些常用的介面列出來,讓大家有一些基本的認識,都是用來做什麼的,什麼時候我們會需要用到此介面。

IFilterGraph 過濾通道介面 IFilterGraph2 增強的IFilterGraph IGraphBuilder

最為重用的COM介面,用於手動或者自動構造過濾通道Filter Graph Manager

IMediaControl 用來控制流媒體,例如流的啟動和停止暫停等,播放控制介面 IMediaEvent 播放事件介面 ,該介面在Filter Graph發生一些事件時用來建立事件的標誌資訊並傳送給應用 IMediaEventEx 擴充套件播放事件介面 IMediaPosition 播放的位置和速度控制介面(控制播放位置只能為設定時間控制方式) IMediaSeeking

另一個播放的位置和播放速度控制介面,在位置選擇方面功能較強.設定播放格式,多種控制播放方式.常用的有:(1)TIME_FORMAT_MEDIA_TIME單位100納秒。(2)TIME_FORMAT_FRAME按幀播放

IBasicAudio 控制介面 IBasicVo 影像控制介面(波特率,寬度,長度等資訊) IVideoWindow 顯示視窗控制介面 (有關播放視窗的一切控制,包括caption顯示,視窗位置控制等) ISampleGrabber 捕獲圖象介面(可用於抓圖控制) IVideoFrameStep 控制單幀播放的介面

  好了,熟悉了應用DirectShow應用開發常用的介面後,我們就透過一個例項媒體來熟悉掌握這些介面,例項的程式碼雖然簡單,但五臟俱全,功能強大,同時也瞭解一下應用DirectShow開發一般常用的步驟。

  未完待續


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/10752019/viewspace-956586/,如需轉載,請註明出處,否則將追究法律責任。

相關文章