• directshow入门


    这是在网上看到的一个directshow播放过程的最简介绍(原文地址:http://hi.baidu.com/ihoohi/blog/item/51cc1d554b3db9173b293545.html
    (个人觉得很经典摘录如下)
        IGraphBuilder *     mGraph;
        IMediaControl *     mMediaControl;
        CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC_SERVER, IID_IGraphBuilder, (void **)&mGraph);  //此处为创建Filter Graph Manager实例
        mGraph->QueryInterface(IID_IMediaControl, (void **)&mMediaControl);//获取其它如控制等组件指针
        mGraph->RenderFile(L"g:\\cctv00.mpg", NULL);    //创建一条完整的Filter链路
        mMediaControl->Run();//调用各个接口方法进行控制,并且完成Filter Graph Manager与应用程序的交互
     
    上面六行代码告诉了我们播放一个媒体文件的必需步骤:
    1,通过API函数CoCreateInstance()创建一个Filter Graph Manager 实例; 此步很容易,要做的事少,方法如上
    2,通过调用QueryInterface ( )函数来获取组件的指针; 此步很容易,要做的事少,方法如上
    3,创建一条完整的Filter链路       此步骤较为麻烦,也是成功的关键。包括filter的添加、Pin的连接等
    4,对Filter Graph进行控制和对事件作出响应。此步骤是一个完整的播放器必须的。
  • 相关阅读:
    类加载器ClassLoader
    JAVA分别获取日期中的年、月、日
    sql 安全问题
    马尔科夫链
    触发器、锁、事务和事务控制
    索引、视图、存储过程、函数、游标
    字符集
    数据类型选择
    存储引擎
    错误:too many indices for array
  • 原文地址:https://www.cnblogs.com/seacode/p/1782507.html
Copyright © 2020-2023  润新知