D:/work/code_by/Wave/WaveFile.h

查看本檔案說明文件.
00001 #ifndef _WAVEFILE_H_
00002 #define _WAVEFILE_H_
00003 
00004 #include <stdio.h>
00005 
00010 class TWaveFile
00011 {
00012 private:
00013   int sampleRate, bitRate;
00014 
00015   void Skip(FILE *, int);
00016   int FindChunk(FILE *, char *);
00017   bool ReadChunk(FILE *, void *, int, int &);
00018   void MuLawToPcm(void);
00019 protected:
00020   int bytesPerSample;
00021 
00022   void Resample(int);
00023 public:
00024   void WaveCopy(char *, int *, int);
00025   void WaveCopy(int *, char *, int);
00026         int WaveCopy(char *, int, int);
00027   void WaveCopy(int *, char *, int, int);
00028 
00030   int *wave;
00032   int waveSize;
00033   char *userData;
00034 
00036   TWaveFile();
00038   ~TWaveFile();
00044   virtual bool Load(char *name);        
00045 
00050   virtual bool Save(char *name);        
00051 
00055   virtual int GetSampleRate(void);      
00056 
00060   virtual int GetBitRate(void); 
00061 
00068   virtual void SetFormat(int newSampleRate, int newBitRate);
00073   //virtual float GetDuration(void);
00074   virtual int GetDuration(void);        
00075 
00080   virtual void SetWave(int *w, int size);
00082   virtual void Clear(void);     
00083 
00088   virtual void Trim(int from, int to);  
00089 };
00090 
00091 #endif
00092 

產生日期:Tue Jul 11 11:52:19 2006, 專案:cbmr, 產生器:  doxygen 1.4.7