57 lines
2 KiB
C
57 lines
2 KiB
C
|
/*==========================================================================
|
||
|
*
|
||
|
* 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
|