Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

58 lines
1.3 KiB

  1. /*************************************************
  2. * waveodev.h *
  3. * *
  4. * Copyright (C) 1995-1999 Microsoft Inc. *
  5. * *
  6. *************************************************/
  7. // waveodev.h : header file
  8. //
  9. #ifndef __WAVEODEV__
  10. #define __WAVEODEV__
  11. /////////////////////////////////////////////////////////////////////////////
  12. // CWaveOutDevice object
  13. class CWave;
  14. class CWaveOutDevice : public CWnd
  15. {
  16. // Attributes
  17. public:
  18. BOOL IsOpen();
  19. BOOL CanDoFormat(WAVEFORMATEX* pFormat);
  20. // Operations
  21. public:
  22. CWaveOutDevice();
  23. BOOL Open(WAVEFORMATEX* pFormat);
  24. BOOL Close();
  25. BOOL Play(CWave* pWave);
  26. void WaveOutDone(CWave* pWave, WAVEHDR* pHdr);
  27. // Implementation
  28. public:
  29. virtual ~CWaveOutDevice();
  30. private:
  31. BOOL Create();
  32. HWAVEOUT m_hOutDev; // Output device handle
  33. int m_iBlockCount; // Number of blocks in the queue
  34. // Generated message map functions
  35. protected:
  36. //{{AFX_MSG(CWaveDevWnd)
  37. afx_msg LRESULT OnWomDone(WPARAM w, LPARAM l);
  38. //}}AFX_MSG
  39. DECLARE_MESSAGE_MAP()
  40. };
  41. // some global items
  42. extern CWaveOutDevice theDefaultWaveOutDevice;
  43. /////////////////////////////////////////////////////////////////////////////
  44. #endif // __WAVEODEV__