C#實現DirectShow技術開發準備

來源:互聯網
上載者:User

DirectShow組件在“C:\WINDOWS\system32”目錄下的Quartz.dll動態庫中,要使C#代碼引用COM對象和介面,必須將COM類型庫轉換為.NET架構中繼資料,從而有效地建立一個可以從任何託管語言調用的託管封裝。

在轉換過程中需要使用FrameWork SDK內建的TlbImp命令工具,該命令工具在“D:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin\TlbImp.exe”目錄下(取決於Visual Studio 2005的安裝路徑)。

該命令的使用方法為:

TlbImp C:\WINDOWS\system32\quartz.dll out:C:\WINDOWS\system32\quartzDriectShow.dll

在DOS命令下執行轉換成功。

轉換完成後需在應用程式引用quartzDriectShow,引用quartzDriectShow.dll組件步驟如下:

(1)在Visual Studio 2005開發環境中,選擇菜單“項目”/“添加引用”命令,彈出“添加引用”對話方塊。

(2)選擇“瀏覽”選項卡,通過瀏覽找到引用quartzDriectShow.dll所在的位置,並引用到程式中來。

(3)最後引入using quartzDriectShow,在程式中可以開發相關多媒體程式了。

開發人員還可以通過編寫自己的過濾器擴充DirectShow多媒體支援。下面是DirectShow組件的介面。

l IFilterGraph:過濾通道介面。

l IFilterGraph2:增強IfilterGraph。

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

l IMediaControl :用來控制流程媒體(如流的啟動和停止暫停等)播放控制介面。

l IMediaEvent:播放事件介面,該介面在FilterGraph發生一些事件時用來建立事件的標誌資訊並傳送給應用程式。

l IMediaEventEx:擴充播放事件視窗。

l IMediaPosition:播放的位置和速度控制介面(控制播放放置只能為設定時間控制方式)。

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

l IBasicAudio:聲音控制介面。

l IBasic Video:映像控制介面(傳輸速率,寬度,長度等資訊)。

l IVideoWindow:顯示視窗控制介面(有關播放視窗的一切控制,包括caption顯示,視窗位置控制等)。

l ISampleGrabber:捕獲映像介面(可用於抓圖控制)。

l IVideoFrameStep:控帛單幀播放的介面。

注意:使用DirectShow介面編程有3個步驟:初始化介面→利用介面中的控制函數使用控制操作→最後釋放介面。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.