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.

56 lines
2.0 KiB

  1. /*==========================================================================
  2. *
  3. * Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
  4. *
  5. * File: arecd.h
  6. * Content: Definition of the CAudioRecordDevice class
  7. *
  8. * History:
  9. * Date By Reason
  10. * ==== == ======
  11. * 07/16/99 rodtoll Created
  12. * 08/04/99 rodtoll Updated to take dsound ranges for volume
  13. * 11/12/99 rodtoll Modified abstraction for new waveIN support.
  14. * Now abstracted types look almost like dsoundcap objects
  15. * 12/01/99 rodtoll Bug #121815 - Recording/Playback may contain static.
  16. * Added abstract call to adjust conversion quality
  17. * 12/08/99 rodtoll Bug #121054 - DirectX 7.1 support.
  18. * Added hwndOwner param for capture focus support
  19. *
  20. ***************************************************************************/
  21. #ifndef __AUDIORECORDDEVICE_H
  22. #define __AUDIORECORDDEVICE_H
  23. class CAudioRecordDevice;
  24. // CAudioRecordDevice
  25. //
  26. // This class provides an abstract interface for the recording devices in
  27. // the system. The various subsystems provide implementations of this class
  28. // specific to the subsystem. Applications use the interface described by this
  29. // class to work with recording devices.
  30. //
  31. // WARNING:
  32. // In many cases you must initialize the playback before you can initialize
  33. // the recording. Therefore you must create and initialize your
  34. // CAudioPlaybackDevice BEFORE you create your CAudioRecordDevice object.
  35. //
  36. class CAudioRecordDevice
  37. {
  38. public:
  39. CAudioRecordDevice( ) {} ;
  40. virtual ~CAudioRecordDevice() {} ;
  41. public: // Initialization
  42. virtual HRESULT Initialize( const GUID &refguidDevice ) = 0;
  43. virtual HRESULT CreateBuffer( LPDSCBUFFERDESC lpdscBufferDesc, HWND hwndOwner, DWORD dwFrameSize, CAudioRecordBuffer **lpapBuffer ) = 0;
  44. virtual LPDIRECTSOUNDCAPTURE GetCaptureDevice() = 0;
  45. virtual HRESULT GetMixerQuality( DIRECTSOUNDMIXER_SRCQUALITY *psrcQuality ) = 0;
  46. virtual HRESULT SetMixerQuality( const DIRECTSOUNDMIXER_SRCQUALITY srcQuality ) = 0;
  47. };
  48. #endif