VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > C#教程 >
  • c#实现DirectShow技术开发准备

制作者:剑锋冷月 单位:无忧统计网,www.51stat.net
 

  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组件的接口。

  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个步骤:初始化接口→利用接口中的控制函数使用控制操作→最后释放接口。



相关教程