各位大侠, 您们好我有个问题想请教. 我在做一个视频捕捉程序, 想把摄像头画在窗体上的数据流保存在一个文件中, 如下是我的代码, 请问高手如何进一步调试才能实现把连续的视频流
保存入文件呢? 另外我想请问, 象下面的代码, 如何把每一祯的m_InInfo(为BitmapInfo类型)转换成Bitmap, 然后我再处理呢? 请多多指教!!! 谢谢!!!this->m_hWndCapture=::capCreateCaptureWindow("Capture Window",WS_VISIBLE|WS_CHILD,20,65,209,166,this->m_hWnd,1);
capDriverConnect(this->m_hWndCapture,0);
capSetVideoFormat(this->m_hWndCapture,&this->m_InInfo,sizeof(BITMAPINFO));
capPreviewRate(this->m_hWndCapture,40);
capPreview(this->m_hWndCapture,TRUE);
capSetCallbackOnFrame(this->m_hWndCapture,FrameCallBack);
//写入文件的代码
fwrite(&this->m_InInfo, 1, sizeof(BITMAPINFO), fp );

解决方案 »

  1.   

    DirectX SDK 里面有例子:AMcap就有这个功能。
      

  2.   

    大侠, 您好
      我试了, 但是报以下错误:
      Linking...
      LINK : fatal error LNK1104: cannot open file "..\..\baseclasses\debug_unicode\strmbasd.lib"
    Error executing link.exe.
      或者您能提供给我一个strmbasd.lib吗? 谢谢!
      请指点一下, 谢谢!
      

  3.   

    打开\DXSDK\Samples\C++\DirectShow\BaseClasses的工程,重新编译就有了!
      

  4.   

    strmbasd.lib是debug版本的库文件,STRMBASE.lib是release版本的库文件!
      

  5.   

    DirectX不是安装上去就可以用他的例子了,使用它的例子,还需要打开\BaseClasses目录下的工程文件,编译2遍,一遍选debug,一遍选release版,然后才可以使用DirectShow下面的例子。