ccdView.h
上传用户:sztlpcb
上传日期:2007-06-09
资源大小:741k
文件大小:3k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // ccdView.h : interface of the CCcdView class
  2. //
  3. /////////////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CCDVIEW_H__0584CDAB_19F1_4561_8463_C7F39EA17A47__INCLUDED_)
  5. #define AFX_CCDVIEW_H__0584CDAB_19F1_4561_8463_C7F39EA17A47__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include <dshow.h>
  10. #include "EnumFilterDlg.h"
  11. #define ID_TIMER1 WM_USER+128
  12. #define WCBUFSIZE 20
  13. extern "C" const IID IID_DIVX;
  14. class CCcdView : public CView
  15. {
  16. protected: // create from serialization only
  17. CCcdView();
  18. DECLARE_DYNCREATE(CCcdView)
  19. // Attributes
  20. public:
  21. CCcdDoc* GetDocument();
  22. // Operations
  23. public:
  24. // Overrides
  25. // ClassWizard generated virtual function overrides
  26. //{{AFX_VIRTUAL(CCcdView)
  27. public:
  28. virtual void OnDraw(CDC* pDC);  // overridden to draw this view
  29. virtual BOOL PreCreateWindow(CREATESTRUCT& cs);
  30. //}}AFX_VIRTUAL
  31. // Implementation
  32. public:
  33. virtual ~CCcdView();
  34. #ifdef _DEBUG
  35. virtual void AssertValid() const;
  36. virtual void Dump(CDumpContext& dc) const;
  37. #endif
  38. protected:
  39. // Generated message map functions
  40. protected:
  41. //{{AFX_MSG(CCcdView)
  42. afx_msg void OnUpdateMenuitemstart(CCmdUI* pCmdUI);
  43. afx_msg void OnUpdateMenuitemdmic(CCmdUI* pCmdUI);
  44. afx_msg void OnUpdateMenuitemdvideo(CCmdUI* pCmdUI);
  45. afx_msg void OnMenuitemdmic();
  46. afx_msg void OnMenuitemdvideo();
  47. afx_msg void OnUpdateMenuitemstop(CCmdUI* pCmdUI);
  48. afx_msg void OnMenuitemstop();
  49. afx_msg void OnMenuitemstart();
  50. afx_msg int OnCreate(LPCREATESTRUCT lpCreateStruct);
  51. afx_msg void OnDestroy();
  52. afx_msg void OnSize(UINT nType, int cx, int cy);
  53. afx_msg void OnTimer(UINT nIDEvent);
  54. afx_msg void OnMenuitemmsav();
  55. afx_msg void OnUpdateMenuitemmsav(CCmdUI* pCmdUI);
  56. afx_msg void OnMenuitemmpeg3();
  57. afx_msg void OnUpdateMenuitemmpeg3(CCmdUI* pCmdUI);
  58. afx_msg void OnMenuitemdivx();
  59. afx_msg void OnUpdateMenuitemdivx(CCmdUI* pCmdUI);
  60. afx_msg void OnMenuitemshowfilter();
  61. //}}AFX_MSG
  62. DECLARE_MESSAGE_MAP()
  63. private:
  64. HMENU m_hmApp;
  65. void ShowFilterProperPage(IBaseFilter *bfFilter);
  66. DWORD m_dwSenderThreadID;
  67. HANDLE m_hSenderThread;
  68. static DWORD __stdcall Sender(void *pParameter);
  69. WCHAR m_wcFName[WCBUFSIZE];
  70. int m_nCounter;
  71. bool m_bmsavCom;
  72. bool m_bdivmp4Com;
  73. bool m_baudioCom;
  74. IBaseFilter *m_piBFmsavCom;
  75. IBaseFilter *m_piBFdivmp4Com;
  76. IBaseFilter *m_piBFaudioCom;
  77. IFileSinkFilter *m_piFSFFile;
  78. IBaseFilter *m_piBFFile;
  79. void SetVideoWindow();
  80. int RetreiveFilter();
  81. bool CreateGraph();
  82. bool DestroyGraph();
  83. IGraphBuilder *m_piGBGraph;
  84. ICaptureGraphBuilder2 *m_piCGB2Builder;
  85. IBaseFilter *m_piBFCaptureSource;
  86. IBaseFilter *m_piBFAudioSource;
  87. IMediaControl *m_piMCCtrl;
  88. bool m_bVideo;
  89. bool m_bMIC;
  90. bool m_bStart;
  91. };
  92. #ifndef _DEBUG  // debug version in ccdView.cpp
  93. inline CCcdDoc* CCcdView::GetDocument()
  94.    { return (CCcdDoc*)m_pDocument; }
  95. #endif
  96. /////////////////////////////////////////////////////////////////////////////
  97. //{{AFX_INSERT_LOCATION}}
  98. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  99. #endif // !defined(AFX_CCDVIEW_H__0584CDAB_19F1_4561_8463_C7F39EA17A47__INCLUDED_)