Sound.h
上传用户:cydong117
上传日期:2009-11-10
资源大小:638k
文件大小:2k
源码类别:

模拟服务器

开发平台:

Visual C++

  1. // Sound.h: interface for the CSound class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_SOUND_H__DC5CA4B7_9E44_462D_BEF8_B1E4FDD01802__INCLUDED_)
  5. #define AFX_SOUND_H__DC5CA4B7_9E44_462D_BEF8_B1E4FDD01802__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. #define MAKEVOL(right,left) MAKELONG(((right*65535L)/100), ((left*65535L)/100))
  10. class CSound  
  11. {
  12. public:
  13. HRESULT Enable3d(VOID);
  14. HRESULT SetFormat( long Frequency, BOOL Bit16, BOOL stereo );
  15. HRESULT Create(void *hWnd, BOOL Exclusive);
  16. HRESULT GetCaps(void);
  17. LPDIRECTSOUND3DLISTENER Get3dListener( void ) { return m_pDSListener;}
  18. LPDIRECTSOUND GetDS( void ) { return m_pDS; }
  19. BOOL GetSoundOn(void) { return m_SoundOff; }
  20. DWORD GetCDVolume( void );
  21. DWORD GetDIGIVolume( void );
  22. DWORD GetMIDIVolume( void );
  23. HRESULT SetMIDIVolume( BYTE rvol, BYTE lvol );
  24. HRESULT SetDIGIVolume( BYTE rvol, BYTE lvol );
  25. HRESULT SetCDVolume( BYTE rvol, BYTE lvol );
  26. HRESULT ContinuousPlay( BOOL Enable );
  27. HRESULT Set3dFactors( float DopplerFactor, float RolloffFactor, float DistanceFactor );
  28. HRESULT Place3dListener( float posX, float posY, float posZ, float frontX=0.0, float frontY=0.0, float frontZ=1.0, float topX=0.0, float topY=1.0, float topZ=0.0, BOOL setOrientation=FALSE );
  29. VOID FreeDirectSound(VOID);
  30. CSound();
  31. virtual ~CSound();
  32. private:
  33. LPDIRECTSOUND3DBUFFER   m_pDS3DBuffer; // 3D sound buffer
  34. DS3DBUFFER              m_dsBufferParams;           // 3D buffer properties
  35. DS3DLISTENER m_dsListenerParams;         // Listener properties
  36. DWORD                   m_dwBufferBytes;
  37. DWORD m_dwDSBufferSize;
  38. BOOL m_bDeferSettings;
  39. LPDIRECTSOUND m_pDS; // DirectSound object
  40. BOOL m_SoundOff;
  41. BOOL m_3dSound; // Stores if 3d Sound is enabled
  42. LPDIRECTSOUND3DLISTENER m_pDSListener; // 3D listener object
  43. DSCAPS m_DSCaps; // Direct sound capabilities
  44. };
  45. #endif // !defined(AFX_SOUND_H__DC5CA4B7_9E44_462D_BEF8_B1E4FDD01802__INCLUDED_)