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

模拟服务器

开发平台:

Visual C++

  1. // CBMMp3.h: interface for the CBMMp3 class.
  2. //
  3. //////////////////////////////////////////////////////////////////////
  4. #if !defined(AFX_CBMMp3_H__E7B9DE69_5CF3_4A3A_AE0D_D13BD100E109__INCLUDED_)
  5. #define AFX_CBMMp3_H__E7B9DE69_5CF3_4A3A_AE0D_D13BD100E109__INCLUDED_
  6. #if _MSC_VER > 1000
  7. #pragma once
  8. #endif // _MSC_VER > 1000
  9. //#define WM_DSHOW_NOTIFY WM_APP+500  // Pivate message
  10. class CBMMp3  
  11. {
  12. public:
  13. ///////////////////////////////////////////////////////////////
  14. CBMMp3();
  15. virtual ~CBMMp3();
  16. ///////////////////////////////////////////////////////////////
  17. BOOL LoadMp3(CHAR* szFileName,HWND hWnd);
  18. BOOL OnPlay(BOOL Looping);
  19. BOOL OnPlay(LONG lVolume,BOOL Looping);
  20. BOOL OnStop(VOID);
  21. BOOL OnPause(VOID);
  22. BOOL InitBMMp3(HWND hWnd);
  23. BOOL SetVolume(LONG lVolume);
  24. LONG GetVolume(VOID);
  25. BOOL SetNotifyWindow(LONG lMsg,LONG lOnOff);
  26. BOOL SetNotifyFlags(LONG lFlag);
  27. HRESULT MessageProcess(VOID);
  28. private:
  29. ///////////////////////////////////////////////////////////////
  30. IBasicAudio *m_pBasicAudio;
  31. IMediaControl *m_pMediaControl;
  32. IMediaSeeking *m_pMediaSeeking;
  33. IMediaPosition *m_pMediaPosition;
  34. IMediaEventEx *m_pMediaEventEx;
  35. IGraphBuilder *m_pGraphBuilder;
  36. ///////////////////////////////////////////////////////////////
  37. BOOL m_bIsPlaying; // Is this Mp3 Media playing?
  38. BOOL m_bInited; // Is this class initialized?
  39. BOOL m_bLooping; // Is this Mp3 Media Looping Play?
  40. HWND m_hWnd; // Handle of this class's owner
  41. BOOL m_bIsLoadMp3;
  42. CHAR m_szFileName[MAX_PATH];
  43. protected:
  44. public:
  45. VOID Release(VOID);
  46. __inline BOOL IsPlaying(VOID)
  47. {
  48. return m_bInited;
  49. }
  50. };
  51. #endif // !defined(AFX_CBMMp3_H__E7B9DE69_5CF3_4A3A_AE0D_D13BD100E109__INCLUDED_)