我看了memfile他是自己写了一个远过滤器

解决方案 »

  1.   

    我还要控制声音,因为以前有一个库(lib)是播放buffer中的内容但是控制不了声音
      

  2.   

    将CMemStream类中的Read()函数中的
      CopyMemory((PVOID)pbBuffer, (PVOID)(m_pbData + m_llPosition),
                       dwReadLength);改写成自己想要的;
    声音怎么能控制不了呢?
    pBasicAudio->put_Volume(lVolume);不行吗?
      

  3.   

    pBasicAudio->put_Volume(lVolume);可以控制声音,
      

  4.   

    CMemStream就不要继承CAsyncStream?
      

  5.   

    因为在使用中用addfilter所以必须继承IBaseFilter这样还是自己要写这个过滤器
      

  6.   

    自己写了编译好后是.ax还要到客户端注册,我是视频采集过来的数据,数据都放到buffer中
    自己写就相当于写源过滤器,我都不知道改怎么半了
      

  7.   

    我这里有一个朋友给的播放库,可以播放buffer中的内容,是.lib(这个库控制不了声音) 不是.ax
    我想知道怎么写这样的程序
      

  8.   

    sorry, I don't know it
      

  9.   

    com可以解决一切问题,IGraphBuilder *pGraph;
    IMediaControl *pMediaControl;
    CoCreateInstance(CLSID_FilterGraph, NULL, CLSCTX_INPROC, 
                        IID_IGraphBuilder, (void **)&pGraph);
    pGraph->RenderFile(L"\\Hello_World.avi", NULL);
    pMediaControl->Run();
      

  10.   

    我不是播放文件,是播放buffer中的内容
      

  11.   

    可以把buffer中的内容写到文件中去的,按照mpeg格式就可以了
      

  12.   

    你是用来回放的吗?是不是是个监控程序啊。买一张视频采集卡,一切数据的采集,解码,压缩都自己完成,还附有SDK开发包
      

  13.   

    我这里有一个采集卡,有采集,压缩,但是没有解码,要自己解(用directshow)
    我把采集出来的数据全部放到buffer中,后边的事情我就不知道怎么做了
      

  14.   

    自己写一个解码器不就完了么!?还用什么DirectShow这么劳神的东西。
      

  15.   

    to 12345678(12345678): 
     留下你的QQ好吗?我想和你聊聊
      

  16.   

    自己写解码器-没戏。你就用memfile里的那个过滤器就行了。
    你先添加上过滤器(方法照memfile抄就行了),调用CMemStream的write不断向里面写就可以了。系统会自动调用read读出你写进去的内存块。你可以重新写这两个函数,一个往里写,另一个读出并从内存块中删除。原理就这么简单,不过要是做实时播放还要控制读取的时间,反正还有很多工作。
      

  17.   

    能不能讲讲那个异步source filter 怎样写哦?
      

  18.   

    好像没有了
    我给你们一个源程序吧,要的留地址
    其中播放dat,时间一长就会非法操作,大家可以改一下,我写完没有时间改了!
      

  19.   

    我要![email protected]
    thx a lot
      

  20.   

    [email protected] 谢谢,我正准备做网络视频,用的也是采集卡,希望得到大家的帮助