zoukankan      html  css  js  c++  java
  • C#实现DirectShow技术开发准备

    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个步骤:初始化接口→利用接口中的控制函数使用控制操作→最后释放接口。
  • 相关阅读:
    使用 asp.net mvc和 jQuery UI 控件包
    ServiceStack.Redis 使用教程
    HTC T8878刷机手册
    Entity Framework CodeFirst 文章汇集
    2011年Mono发展历程
    日志管理实用程序LogExpert
    使用 NuGet 管理项目库
    WCF 4.0路由服务Routing Service
    精进不休 .NET 4.0 (1) asp.net 4.0 新特性之web.config的改进, ViewStateMode, ClientIDMode, EnablePersistedSelection, 控件的其它一些改进
    精进不休 .NET 4.0 (7) ADO.NET Entity Framework 4.0 新特性
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3566062.html
Copyright © 2011-2022 走看看