Leaked source code of windows server 2003
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.

49 lines
1.8 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: aplayd.h
  6. * Content: Definition of the CAudioPlaybackDevice class
  7. *
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 07/16/99 rodtoll Created
  12. * 11/12/99 rodtoll Modified abstraction for new waveOut support.
  13. * Now abstracted types look almost like dsound objects
  14. * 12/01/99 rodtoll Bug #121815 - Recording/Playback may contain static.
  15. * Added abstract call to adjust conversion quality
  16. * 01/27/2000 rodtoll Updated sound classes to accept playback flags,
  17. * buffer structures and DSBUFFERDESC instead of DSBUFFERDESC1
  18. * 04/04/2001 rodtoll WINBUG #343428 - DPVOICE: Voice wizard's playback is very choppy.
  19. *
  20. ***************************************************************************/
  21. #ifndef __AUDIOPLAYBACKDEVICE_H
  22. #define __AUDIOPLAYBACKDEVICE_H
  23. class CAudioPlaybackDevice
  24. {
  25. public:
  26. CAudioPlaybackDevice( ) {} ;
  27. virtual ~CAudioPlaybackDevice() {};
  28. public: // Initialization
  29. virtual HRESULT Initialize( const GUID &guidDevice, HWND hwndOwner, WAVEFORMATEX *primaryFormat, BOOL fPriorityMode ) = 0;
  30. virtual HRESULT CreateBuffer( LPDSBUFFERDESC lpdsBufferDesc, DWORD dwFrameSize, CAudioPlaybackBuffer **lpapBuffer ) = 0;
  31. virtual BOOL IsEmulated() = 0;
  32. inline WAVEFORMATEX *GetPrimaryFormat() { return m_primaryFormat; };
  33. virtual LPDIRECTSOUND GetPlaybackDevice() = 0;
  34. virtual HRESULT GetMixerQuality( DIRECTSOUNDMIXER_SRCQUALITY *psrcQuality ) = 0;
  35. virtual HRESULT SetMixerQuality( const DIRECTSOUNDMIXER_SRCQUALITY srcQuality ) = 0;
  36. protected:
  37. WAVEFORMATEX *m_primaryFormat; // Format used by the device's mixer
  38. };
  39. #endif