CaptureClass.h
上传用户:szth2006
上传日期:2021-11-30
资源大小:68k
文件大小:1k
源码类别:

DirextX编程

开发平台:

Visual C++

  1. /////////////////////////////////////////////////////////////////////
  2. // CaptureVideo.h : header file
  3. /////////////////////////////////////////////////////////////////////
  4. #ifndef _CAPCLASS_HEAD_
  5. #define _CAPCLASS_HEAD_
  6. #include <streams.h>
  7. #ifndef srelease
  8. #define srelease(x) 
  9. if ( NULL != x ) 
  10.   x->Release( ); 
  11.   x = NULL; 
  12. }
  13. #endif
  14. class CCaptureClass
  15. {
  16. public:
  17.     CCaptureClass();
  18.     virtual ~CCaptureClass();
  19. int EnumDevices(HWND hList);
  20. void SaveGraph(TCHAR *wFileName);
  21. void ConfigCameraPin(HWND hwndParent);
  22. void ConfigCameraFilter(HWND hwndParent);
  23. HRESULT CaptureImages(CString inFileName);
  24. HRESULT PreviewImages(int iDeviceID, HWND hWnd);
  25. private:
  26.     HWND m_hWnd;
  27.     IGraphBuilder *m_pGB;
  28.     ICaptureGraphBuilder2 *m_pCapture;
  29.     IBaseFilter *m_pBF;
  30.     IMediaControl *m_pMC;
  31.     IVideoWindow *m_pVW;
  32. IBaseFilter *pMux;
  33. protected:
  34. bool BindFilter(int deviceId, IBaseFilter **pFilter);
  35. void ResizeVideoWindow();
  36. HRESULT SetupVideoWindow();
  37. HRESULT InitCaptureGraphBuilder();
  38. };
  39. #endif