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个步骤:初始化接口→利用接口中的控制函数使用控制操作→最后释放接口。
  • 相关阅读:
    apache的用户认证
    Apache的配置文件
    AH00052: child pid 25043 exit signal Segmentation fault (11)
    Apache的工作模式
    apache的目录别名
    RAID的几种级别
    网络服务--NFS服务
    MySQL 5.7元数据库
    [ERROR] COLLATION 'latin1_swedish_ci' is not valid for CHARACTER SET 'utf8'
    .Net MVC断点进不去
  • 原文地址:https://www.cnblogs.com/wwwzzg168/p/3566062.html
Copyright © 2011-2022 走看看