windows-nt/Source/XPSP1/NT/multimedia/directx/dplay/dvoice/dxvutils/arecd.h

57 lines
2 KiB
C
Raw Normal View History

2020-09-26 03:20:57 -05:00
/*==========================================================================
*
* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
*
* File: arecd.h
* Content: Definition of the CAudioRecordDevice class
*
* History:
* Date By Reason
* ==== == ======
* 07/16/99 rodtoll Created
* 08/04/99 rodtoll Updated to take dsound ranges for volume
* 11/12/99 rodtoll Modified abstraction for new waveIN support.
* Now abstracted types look almost like dsoundcap objects
* 12/01/99 rodtoll Bug #121815 - Recording/Playback may contain static.
* Added abstract call to adjust conversion quality
* 12/08/99 rodtoll Bug #121054 - DirectX 7.1 support.
* Added hwndOwner param for capture focus support
*
***************************************************************************/
#ifndef __AUDIORECORDDEVICE_H
#define __AUDIORECORDDEVICE_H
class CAudioRecordDevice;
// CAudioRecordDevice
//
// This class provides an abstract interface for the recording devices in
// the system. The various subsystems provide implementations of this class
// specific to the subsystem. Applications use the interface described by this
// class to work with recording devices.
//
// WARNING:
// In many cases you must initialize the playback before you can initialize
// the recording. Therefore you must create and initialize your
// CAudioPlaybackDevice BEFORE you create your CAudioRecordDevice object.
//
class CAudioRecordDevice
{
public:
CAudioRecordDevice( ) {} ;
virtual ~CAudioRecordDevice() {} ;
public: // Initialization
virtual HRESULT Initialize( const GUID &refguidDevice ) = 0;
virtual HRESULT CreateBuffer( LPDSCBUFFERDESC lpdscBufferDesc, HWND hwndOwner, DWORD dwFrameSize, CAudioRecordBuffer **lpapBuffer ) = 0;
virtual LPDIRECTSOUNDCAPTURE GetCaptureDevice() = 0;
virtual HRESULT GetMixerQuality( DIRECTSOUNDMIXER_SRCQUALITY *psrcQuality ) = 0;
virtual HRESULT SetMixerQuality( const DIRECTSOUNDMIXER_SRCQUALITY srcQuality ) = 0;
};
#endif