3DSound.h
上传用户:garry_shen
上传日期:2015-04-15
资源大小:45647k
文件大小:1k
源码类别:

游戏引擎

开发平台:

Visual C++

  1. #ifndef _3DSOUND_
  2. #define _3DSOUND_
  3. #define TRY_DS(exp) { { HRESULT rval = exp; if (rval != DS_OK) { TraceErrorDS(rval, __FILE__, __LINE__); return FALSE; } } }
  4. typedef struct _WaveHeader
  5. {
  6.     BYTE        RIFF[4];
  7.     DWORD       dwSize;
  8.     BYTE        WAVE[4];
  9.     BYTE        fmt_[4];
  10.     DWORD       dw16;
  11.     WORD        wOne_0;
  12.     WORD        wChnls;
  13.     DWORD       dwSRate;
  14.     DWORD       BytesPerSec;
  15.     WORD        wBlkAlign;
  16.     WORD        BitsPerSample;
  17.     BYTE        DATA[4];
  18.     DWORD       dwDSize;
  19. }WaveHeader;
  20. void D3DSoundRelease();
  21. void PlayRandomWave();
  22. BOOL StopAllSounds();
  23. BOOL PlaySoundDS(DWORD dwSound,D3DVECTOR d3dvPos, DWORD dwFlags);
  24. BOOL CreateSoundBuffer(DWORD dwBuf, DWORD dwBufSize, DWORD dwFreq, DWORD dwBitsPerSample, DWORD dwBlkAlign, BOOL bStereo);
  25. BOOL CreateBufferFromWaveFile(char* FileName, DWORD dwBuf);
  26. void TraceErrorDS(HRESULT hErr, char *sFile, int nLine);
  27. void RegError(char * sErr);
  28. BOOL InitSound();
  29. IDirectSoundBuffer* CreateSoundBuffer3D();
  30. BOOL ReadData(LPDIRECTSOUNDBUFFER lpDSB, FILE* pFile, DWORD dwSize, DWORD dwPos);
  31. #endif