www.pudn.com > XmudOSr.rar > 3DSound.h
#ifndef _3DSOUND_
#define _3DSOUND_
#define TRY_DS(exp) { { HRESULT rval = exp; if (rval != DS_OK) { TraceErrorDS(rval, __FILE__, __LINE__); return FALSE; } } }
typedef struct _WaveHeader
{
BYTE RIFF[4];
DWORD dwSize;
BYTE WAVE[4];
BYTE fmt_[4];
DWORD dw16;
WORD wOne_0;
WORD wChnls;
DWORD dwSRate;
DWORD BytesPerSec;
WORD wBlkAlign;
WORD BitsPerSample;
BYTE DATA[4];
DWORD dwDSize;
}WaveHeader;
void D3DSoundRelease();
void PlayRandomWave();
BOOL StopAllSounds();
BOOL PlaySoundDS(DWORD dwSound,D3DVECTOR d3dvPos, DWORD dwFlags);
BOOL CreateSoundBuffer(DWORD dwBuf, DWORD dwBufSize, DWORD dwFreq, DWORD dwBitsPerSample, DWORD dwBlkAlign, BOOL bStereo);
BOOL CreateBufferFromWaveFile(char* FileName, DWORD dwBuf);
void TraceErrorDS(HRESULT hErr, char *sFile, int nLine);
void RegError(char * sErr);
BOOL InitSound();
IDirectSoundBuffer* CreateSoundBuffer3D();
BOOL ReadData(LPDIRECTSOUNDBUFFER lpDSB, FILE* pFile, DWORD dwSize, DWORD dwPos);
#endif