/*------------------------------------------------------------------------------*\
 =============================
   模块名称: AudioFile.h
 =============================

 [目的]
 
     封装了Audio File的操作    
     	  
 [描述]
		
	该模块可以从文件输入输出语音  
 
 [用法]
   
    
	 
 [依赖性]
	
	 

 [修改记录]
 
  版本:    1.01.01
  日期:    01-11-26        
  作者:    Brant Q
  备注:
  


 [版权]
 
   2000-2002  115软件工厂  版权所有
                                              
\*------------------------------------------------------------------------------*/
#ifndef _AVFILE_H_
#define _AVFILE_H_
#define VF_VER 1000
#define SIZE_PACK 32
#define VF_FLAG "VF1"
typedef struct
{
	char szFlag[4];
	int iVer;
	int iCheckSum;
	int nPack;
	int nBitPerSample;
	int nSamplePerPack;
	int nTime;
		
} AUDIO_FILE_HEADER;

class CAVFile
{
public:
	UINT GetNumOfPacks();
	
	BOOL SetNextPack(char*buf);
	BOOL SetPack(UINT nFrame,char* buf);
	BOOL Create(char* pszName);
	BOOL GetPack(UINT nFrame,char *buf);
	BOOL Seek(UINT nFrame);
	BOOL Close();
	BOOL GetNextPack(char* buf);
	BOOL Open(char* pszName);
	virtual  ~CAVFile();
	CAVFile();
protected:
	AUDIO_FILE_HEADER m_vfh;
	void InitHeader(AUDIO_FILE_HEADER& vfh);
	BOOL m_bFlag;
	HANDLE m_hFile;

};



#endif