程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> C# >> C#入門知識 >> C#實現DirectShow技術開發准備

C#實現DirectShow技術開發准備

編輯:C#入門知識

DirectShow組件在“C:WINDOWSsystem32”目錄下的Quartz.dll動態庫中,要使C#代碼引用COM對象和接口,必須將COM類型庫轉換為.NET框架元數據,從而有效地創建一個可以從任何托管語言調用的托管包裝。在轉換過程中需要使用FrameWork SDK自帶的TlbImp命令工具,該命令工具在“D:Program FilesMicrosoft Visual Studio 8SDKv2.0BinTlbImp.exe”目錄下(取決於Visual Studio 2005的安裝路徑)。該命令的使用方法為:

TlbImp C:WINDOWSsystem32quartz.dll out:C:WINDOWSsystem32quartzDriectShow.dll 在DOS命令下執行轉換成功。    轉換完成後需在應用程序引用quartzDriectShow,引用quartzDriectShow.dll組件步驟如下: (1)在Visual Studio 2005開發環境中,選擇菜單“項目”/“添加引用”命令,彈出“添加引用”對話框。 (2)選擇“浏覽”選項卡,通過浏覽找到引用quartzDriectShow.dll所在的位置,並引用到程序中來。 (3)最後引入using quartzDriectShow,在程序中可以開發相關多媒體程序了。    開發人員還可以通過編寫自己的過濾器擴展DirectShow多媒體支持。下面是DirectShow組件的接口。  IFilterGraph:過濾通道接口。 IFilterGraph2:增強的IfilterGraph。 IGraphBuilder:最為重用的COM接口,用於手動或者自動構造過濾通道Filter Graph Manager。  IMediaControl:用來控制流媒體(如流的啟動和停止暫停等)播放控制接口。 IMediaEvent:播放事件接口,該接口在FilterGraph發生一些事件時用來創建事件的標志信息並傳送給應用程序。 IMediaEventEx:擴展播放事件窗口。 IMediaPosition:播放的位置和速度控制接口(控制播放放置只能為設置時間控制方式)。  IMediaSeeking:另一個播放的位置和播放速度控制接口,在位置選擇方面功能較強,設置播放格式。常用的控制播放方式有:TIME_FORMAT_MEDIA_TIME單位100納秒;TIME_FORMAT_FRAME按幀播放。 IBasicAudio:聲音控制接口。  IBasic Video:圖像控制接口(波特率,寬度,長度等信息)。  IVideoWindow:顯示窗口控制接口(有關播放窗口的一切控制,包括caption顯示,窗口位置控制等)。   ISampleGrabber:捕獲圖像接口(可用於抓圖控制)。   IVideoFrameStep:控帛單幀播放的接口。    注意:使用DirectShow接口編程有3個步驟:初始化接口→利用接口中的控制函數使用控制操作→最後釋放接口。    

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved