1.我的系统是win7,用VFW进行视频捕捉的时候能捕捉到,但是非常卡,不知道是什么原因
2.如果将所有的捕捉代码包括建立捕捉窗口,连接驱动程序,设置预览放在OnInitDialog()函数中,则可以截取单帧图像存成BMP文件,但是这时候界面非常卡,如果将捕捉代码放在线程程序中,则不能截取单帧图像,且回调函数也没有执行,是否是因为预览窗口句柄存在于线程中就不能使用句柄完成截图操作呢?
请教各位大哥大姐

解决方案 »

  1.   

    用DirectShow捕捉吧,专门为视频处理加速的
      

  2.   

    是不是参数没设置对?好像将fYield参数设为true
      

  3.   


    设置为TRUE回调函数就不起作用了,设置单独的线程也是一样,只能都放在OnInitDialog()中才有效
      

  4.   

    对,用DirectShow吧,可参考:http://www.anychat.cn/faq/,有Demo程序的VC++源代码可供参考的。
      

  5.   

    By default, the capture window does not allow other applications to continue running during capture. To override this, either set the fYield member of the CAPTUREPARMS structure to TRUE, or install a yield callback function.
      

  6.   

    MultithreadingUINT   MyThreadProc(   LPVOID   pParam   ) 

    CMyObject*   pObject   =   (CMyObject*)pParam; 
    if   (pObject   ==   NULL   ||!pObject-> IsKindOf(RUNTIME_CLASS(CMyObject)))   return   -1;   //   illegal   parameter 
    //   do   something   with   'pObject ' 
    return   0;   //   thread   completed   successfully 
    } ...... //   inside   a   different   function   in   the   program 
    pNewObject   =   new   CMyObject; 
    AfxBeginThread(MyThreadProc,   pNewObject);