www.pudn.com > tetris.zip > SOUND.H
// Sound.h: interface for the CSound class. // ////////////////////////////////////////////////////////////////////// #if !defined(AFX_SOUND_H__07950063_0476_11D2_A72C_000000000000__INCLUDED_) #define AFX_SOUND_H__07950063_0476_11D2_A72C_000000000000__INCLUDED_ #if _MSC_VER >= 1000 #pragma once #endif // _MSC_VER >= 1000 #include#ifdef PlaySound #undef PlaySound #endif class CSound { friend class COptionsDlg; public: CSound(); virtual ~CSound(); public: enum SoundType { SND_STOPALLSOUNDS = 0, SND_KEYPRESSED, SND_PLACE, SND_LEVELWARP, SND_GAMEOVER }; public: void PlaySound( enum SoundType, BOOL bAsync = TRUE, BOOL bLoop = FALSE ); void StopSounds() { PlaySound(SND_STOPALLSOUNDS); } private: typedef BOOL (WINAPI *SoundFnc)(LPCSTR, HMODULE, DWORD); typedef MCIERROR (WINAPI *MusicFnc)(LPCTSTR, LPTSTR, UINT, HANDLE); static HINSTANCE m_hLib; static SoundFnc m_fncSoundPlayer; static BOOL m_bHaveSound; static BOOL m_bWantSound; HMODULE m_hApplication; static BOOL InitSound(); protected: HANDLE m_hRes; }; #endif // !defined(AFX_SOUND_H__07950063_0476_11D2_A72C_000000000000__INCLUDED_)