00001
00002
00003 #ifndef __SOUNDPLAYER_H_
00004 #define __SOUNDPLAYER_H_
00005
00006 #include "resource.h"
00007 #include "RainMusic.h"
00008 #include <windows.h>
00009
00011
00012 class ATL_NO_VTABLE CSoundPlayer :
00013 public CComObjectRootEx<CComSingleThreadModel>,
00014 public CComCoClass<CSoundPlayer, &CLSID_SoundPlayer>,
00015 public ISoundPlayer
00016 {
00017
00018 protected:
00019 AllAudio* m_pAudio;
00020 FileNameContainer* m_pSoundContainer;
00021 FileNameContainer* m_pMusicContainer;
00022 char m_szDefaultPath[MAX_PATH];
00023
00024 public:
00025
00026 CSoundPlayer();
00027
00028 DECLARE_REGISTRY_RESOURCEID(IDR_SOUNDPLAYER)
00029 DECLARE_NOT_AGGREGATABLE(CSoundPlayer)
00030
00031 DECLARE_PROTECT_FINAL_CONSTRUCT()
00032
00033 BEGIN_COM_MAP(CSoundPlayer)
00034 COM_INTERFACE_ENTRY(ISoundPlayer)
00035 END_COM_MAP()
00036
00037
00038 STDMETHOD(StopAllSounds)(void);
00039 STDMETHOD(StopMusic)(void);
00040 STDMETHOD(SetMusicVolume)(DWORD dwVolume);
00041 STDMETHOD(SetSoundVolume)(DWORD dwVolume);
00042 STDMETHOD(PlaySoundByIndex)(UINT uIdx, DWORD dwRepeats);
00043 STDMETHOD(PlayMusic)(void);
00044 STDMETHOD(Initialize)(void);
00045 STDMETHOD(SetDefaultPath)(BSTR szPath);
00046 STDMETHOD(AddMusicFile)(BSTR szFileName);
00047 STDMETHOD(AddSoundFile)(BSTR szFileName);
00048 };
00049
00050 #endif //__SOUNDPLAYER_H_