WaveBase.h
上传用户:huifengb
上传日期:2007-12-27
资源大小:334k
文件大小:2k
源码类别:

多媒体

开发平台:

Visual C++

  1. #include<mmsystem.h>//and add winnmm.lib to the project  
  2. #if !defined(AFX_WAVEBASE_H__B5E74521_84C6_11D3_8583_5254ABDDD71D__INCLUDED_)
  3. #define AFX_WAVEBASE_H__B5E74521_84C6_11D3_8583_5254ABDDD71D__INCLUDED_
  4. #if _MSC_VER > 1000
  5. #pragma once
  6. #endif // _MSC_VER > 1000
  7. // WaveBase.h : header file
  8. //
  9. /////////////////////////////////////////////////////////////////////////////
  10. // CWaveBASE command target
  11. class CWaveBase : public CCmdTarget
  12. {
  13. DECLARE_DYNCREATE(CWaveBase)
  14. CWaveBase();           // protected constructor used by dynamic creation
  15. // Attributes
  16. public:
  17. void Wave_ReadWaveData(char *,DWORD &);
  18. void Wave_SaveWaveData(char *,DWORD);
  19. BOOL Wave_OpenFile();
  20. BOOL Wave_PrepareSaveFile(CString);
  21. void Wave_CloseSaveFile();
  22. // Operations
  23. public:
  24. void Wave_CloseReadFile();
  25. virtual ~CWaveBase();//change by  Qiao
  26. BOOL m_bFileExist;
  27. DWORD m_ReadFileOffset;
  28. DWORD m_dFileSize;
  29.     DWORD           m_dwDataSize;
  30.     WAVEFORMATEX m_WaveFormat;
  31. CString m_WaveFileName;
  32. DWORD m_dwDataOffset;
  33. private:
  34. HMMIO m_Readhmmio,m_Savehmmio;
  35. // Overrides
  36. // ClassWizard generated virtual function overrides
  37. //{{AFX_VIRTUAL(CWaveBase)
  38. //}}AFX_VIRTUAL
  39. // Implementation
  40. protected:
  41.     MMCKINFO m_mmckinfoWave;
  42. MMCKINFO m_mmckinfoFmt;
  43. MMCKINFO m_mmckinfoData;
  44. MMCKINFO m_mmckinfoFact;
  45. /*The MMCKINFO structure contains information about a chunk in a RIFF file.
  46. typedef struct { 
  47.     FOURCC ckid; 
  48.     DWORD  cksize; 
  49.     FOURCC fccType; 
  50.     DWORD  dwDataOffset; 
  51.     DWORD  dwFlags; 
  52. } MMCKINFO; 
  53. */
  54. //virtual ~CWaveBase();//
  55. // Generated message map functions
  56. //{{AFX_MSG(CWaveBase)
  57. // NOTE - the ClassWizard will add and remove member functions here.
  58. //}}AFX_MSG
  59. DECLARE_MESSAGE_MAP()
  60. };
  61. /////////////////////////////////////////////////////////////////////////////
  62. //{{AFX_INSERT_LOCATION}}
  63. // Microsoft Visual C++ will insert additional declarations immediately before the previous line.
  64. #endif // !defined(AFX_WAVEBASS_H__B5E74521_84C6_11D3_8583_5254ABDDD71D__INCLUDED_)