#ifndef _SoundFile_H_ #define _SoundFile_H_ typedef unsigned long DWORD; typedef unsigned short WORD; typedef unsigned int size_t; typedef struct _iobuf FILE; ///////////////////////////////////////////////////////////////////////////////////////// // class ISoundFile { public: enum eSeekPos { seek_begin, seek_current, seek_end }; public: static ISoundFile * CreateSoundFileInstance( const char * szFilename ); public: virtual ~ISoundFile() {} virtual void Create( const char * ) = 0; virtual void Destroy() = 0; virtual WORD GetBitsPerSample() = 0; virtual DWORD GetSamplePerSec() = 0; virtual WORD GetChannelCount() = 0; virtual DWORD GetSize() = 0; virtual void Reset() = 0; virtual size_t Read( void * pBuf, size_t readSize ) = 0; virtual size_t ReadWhole( void * pBuf ) = 0; virtual const char * GetFilename() = 0; }; ///////////////////////////////////////////////////////////////////////////////////////// #endif