- Visual C++源码
- Visual Basic源码
- C++ Builder源码
- Java源码
- Delphi源码
- C/C++源码
- PHP源码
- Perl源码
- Python源码
- Asm源码
- Pascal源码
- Borland C++源码
- Others源码
- SQL源码
- VBScript源码
- JavaScript源码
- ASP/ASPX源码
- C#源码
- Flash/ActionScript源码
- matlab源码
- PowerBuilder源码
- LabView源码
- Flex源码
- MathCAD源码
- VBA源码
- IDL源码
- Lisp/Scheme源码
- VHDL源码
- Objective-C源码
- Fortran源码
- tcl/tk源码
- QT源码
VideoUSB.h
资源名称:视频会议系统.rar [点击查看]
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:2k
源码类别:
IP电话/视频会议
开发平台:
Visual C++
- #if !defined(AFX_VIDEOUSB_H__6F061C73_9101_4E4F_8166_60487BAA5B7A__INCLUDED_)
- #define AFX_VIDEOUSB_H__6F061C73_9101_4E4F_8166_60487BAA5B7A__INCLUDED_
- #if _MSC_VER > 1000
- #pragma once
- #endif // _MSC_VER > 1000
- // VideoUSB.h : header file
- //
- #pragma warning(disable:4786)
- #include "vfw.h"
- #include "VideoCodecVideoCodec.h"
- #include "DirectDrawDirectDraw.h"
- #include <list>
- using namespace std;
- typedef list< char * >PTR_LIST;
- /////////////////////////////////////////////////////////////////////////////
- // CVideoUSB window
- class CVideoUSB : public CWnd
- {
- public:
- CVideoUSB( );
- virtual ~CVideoUSB( );
- //初始化摄像头
- bool Init( HWND hWnd , void ( * OnCapture )( void * pContext , char * buffer , int size , bool m_bHeader ) , void * pContext );
- //获得视频头信息
- bool GetHeader( char ** header , int * size );
- //开始预览
- bool StartPreview( int fps = 15 );
- //停止预览
- void StopPreview( void );
- //开始捕捉
- bool StartCapture( void );
- //停止捕捉
- void StopCapture( void );
- //初始化显示
- virtual bool InitDraw( HWND hWnd , char * buffer , int size );
- //显示单帧图像
- virtual bool Draw( char * buffer , int size );
- //释放显示
- virtual void ReleaseDraw( void );
- protected:
- static LRESULT CALLBACK OnVideo( HWND hWnd , VIDEOHDR * lpVHdr );
- static UINT OnSend( void * wParam );
- //{{AFX_VIRTUAL(CVideoUSB)
- //}}AFX_VIRTUAL
- //{{AFX_MSG(CVideoUSB)
- afx_msg void OnClose();
- //}}AFX_MSG
- DECLARE_MESSAGE_MAP( )
- private:
- BITMAPINFOHEADER header;
- CVideoCodec codec;
- PTR_LIST buffer_list;
- void ( * OnCapture )( void * pContext , char * buffer , int size , bool m_bHeader ) ;
- void * pContext;
- CDirectDraw ddraw;
- bool m_bPreview;
- bool m_bCapture;
- };
- /////////////////////////////////////////////////////////////////////////////
- //{{AFX_INSERT_LOCATION}}
- // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
- #endif // !defined(AFX_VIDEOUSB_H__6F061C73_9101_4E4F_8166_60487BAA5B7A__INCLUDED_)