cSound.h
上传用户:sycq158
上传日期:2008-10-22
资源大小:15361k
文件大小:1k
源码类别:

游戏

开发平台:

Visual C++

  1. // CMAIN LIB - APPLICATION AND DIRECT WRAPPER
  2. //
  3. // Written by Mauricio Teichmann Ritter
  4. //
  5. // Copyright (C) 2002, Brazil. All rights reserved.
  6. // 
  7. //
  8. // cSound.h: interface for the cSound class.
  9. //
  10. //////////////////////////////////////////////////////////////////////
  11. #if !defined(AFX_CSOUND_H__CB9EB4C7_823F_4433_8A55_F48CA18BA884__INCLUDED_)
  12. #define AFX_CSOUND_H__CB9EB4C7_823F_4433_8A55_F48CA18BA884__INCLUDED_
  13. #if _MSC_VER > 1000
  14. #pragma once
  15. #endif // _MSC_VER > 1000
  16. #include "cwavfile.h"
  17. #include "csoundinterface.h"
  18. #include <dxerr8.h>
  19. #include <dsound.h>
  20. class cSound  
  21. {
  22. private:
  23. DWORD                m_dwDSBufferSize;
  24. cWavFile*            m_pWaveFile;
  25. public:
  26. void Destroy();
  27. void SetVelocity(float fX, float fY, float fZ);
  28. void SetPosition(float fX, float fY, float fZ);
  29. LPTSTR m_sFileName;
  30. HRESULT Stop(BOOL bOverride = FALSE);
  31. BOOL m_bIsPlaying;
  32.     
  33. LPDIRECTSOUND3DBUFFER Get3DInterface();
  34. HRESULT RestoreBuffer(BOOL *bRestored);
  35. HRESULT Play(DWORD dwPriority = 0, DWORD dwFlags = 0);
  36. LPDIRECTSOUNDBUFFER m_pSoundBuffer;
  37. LPDIRECTSOUND3DBUFFER m_p3DInterface;
  38. HRESULT Create(LPTSTR lpszFileName, DWORD dwCreationFlags, GUID guid3DAlgorithm);
  39. cSound();
  40. virtual ~cSound();
  41. protected:
  42. HRESULT FillBuffer();
  43. };
  44. #endif // !defined(AFX_CSOUND_H__CB9EB4C7_823F_4433_8A55_F48CA18BA884__INCLUDED_)