AVI.h
上传用户:popouu88
上传日期:2013-02-11
资源大小:2894k
文件大小:1k
源码类别:

IP电话/视频会议

开发平台:

Visual C++

  1. // AVI.h: interface for the CAVI class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_AVI_H__8DB5F9E4_67F1_4625_A52B_22AC7C0A7AA1__INCLUDED_)
  5. #define AFX_AVI_H__8DB5F9E4_67F1_4625_A52B_22AC7C0A7AA1__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #include "vfw.h"
  10. #include "VideoCodec/VideoCodec.h"
  11. class CAVI  
  12. {
  13. public:
  14. enum { AVI_WRITE = 1 , AVI_READ };
  15.           CAVI( );
  16. virtual ~CAVI( );
  17. //打开avi文件
  18. BOOL     OpenAVI( LPCSTR filename , DWORD openmode );
  19. //关闭avi文件
  20. BOOL     CloseAVI( void );
  21. //设定avi信息(录像时用到的)
  22. BOOL     SetAVIInfo( BITMAPINFOHEADER header , DWORD rate );
  23. //得到avi信息(回放时用的)
  24. BOOL     GetAVIInfo( BITMAPINFOHEADER * header , DWORD *rate );
  25. //添加一帧图像
  26. BOOL     AddFrame( void * data , UINT size = 0 );
  27. //得到一帧图像
  28.     BOOL    GetFrame( void ** data , UINT *size , int index = -1 );
  29. private:
  30. AVISTREAMINFO     m_avi_stream_info;
  31. PAVIFILE          m_avi_file;
  32. PAVISTREAM        m_avi_stream;
  33. BITMAPINFOHEADER  m_avi_bmp_info;
  34. DWORD             read_frame;
  35. DWORD             write_frame;
  36. char            * avi_buffer;
  37. BOOL              m_bMode;
  38. CVideoCodec       codec;
  39. DWORD             time_interval;
  40. DWORD             time_now;
  41. };
  42. #endif // !defined(AFX_AVI_H__8DB5F9E4_67F1_4625_A52B_22AC7C0A7AA1__INCLUDED_)