12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879 |
- #ifndef _MCI_PLAYER_WIN32_H_
- #define _MCI_PLAYER_WIN32_H_
- #include "platform/CCStdC.h"
- #include <mmsystem.h>
- #include <string>
- using namespace std;
- namespace CocosDenshion {
- class MciPlayer
- {
- public:
- MciPlayer();
- ~MciPlayer();
- void Close();
- /**
- @brief Open audio file
- @param pFileName The file name which includes the file path.
- @param uId The audio ID
- */
- void Open(const char* pFileName, UINT uId);
- /**
- @brief Play audio file
- @param nTimes The repeat times, its default value is 1 which means only play once
- */
- void Play(UINT uTimes = 1);
- /**
- @brief Pause play
- */
- void Pause();
- /**
- @brief Resume play
- */
- void Resume();
- /**
- @brief Stop play
- */
- void Stop();
- /**
- @brief Replay
- */
- void Rewind();
- /**
- @brief Is Playing
- */
- bool IsPlaying();
- /**
- @brief Get playing sound's ID
- @return Sound's ID
- */
- UINT GetSoundID();
- private:
- friend LRESULT WINAPI _SoundPlayProc(HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam);
- void _SendGenericCommand(int nCommand, DWORD_PTR param1 = 0, DWORD_PTR parma2 = 0);
- HWND _wnd;
- MCIDEVICEID _dev;
- UINT _soundID;
- UINT _times;
- bool _playing;
- std::string strExt;
- };
- } // end of namespace CocosDenshion
- #endif
|