windows-nt/Source/XPSP1/NT/multimedia/directx/dplay/dvoice/dxvutils/arecb.h
2020-09-26 16:20:57 +08:00

57 lines
1.8 KiB
C++

/*==========================================================================
*
* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
*
* File: arecb.h
* Content: Definition of the CAudioRecordBuffer class
*
* History:
* Date By Reason
* ==== == ======
* 11/04/99 rodtoll Created
* 11/23/99 rodtoll Added SelectMicrophone call to the interface
* 12/01/99 rodtoll Bug #115783 - Will always adjust volume of default device
* Added new parameter to SelectMicrophone
* 12/08/99 rodtoll Bug #121054 - DirectX 7.1 support.
* Added lpfLostFocus param to GetCurrentPosition so upper
* layers can detect lost focus.
* 01/28/2000 rodtoll Bug #130465: Record Mute/Unmute must call YieldFocus() / ClaimFocus()
*
***************************************************************************/
#ifndef __AUDIORECORDBUFFER_H
#define __AUDIORECORDBUFFER_H
// CAudioRecordBuffer
//
//
class CAudioRecordBuffer
{
public:
CAudioRecordBuffer( ) {} ;
virtual ~CAudioRecordBuffer() {} ;
public: // Initialization
virtual HRESULT Lock( DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID *lplpvBuffer1, LPDWORD lpdwSize1, LPVOID *lplpvBuffer2, LPDWORD lpdwSize2, DWORD dwFlags ) = 0;
virtual HRESULT UnLock( LPVOID lpvBuffer1, DWORD dwSize1, LPVOID lpvBuffer2, DWORD dwSize2 ) = 0;
virtual HRESULT GetVolume( LPLONG lplVolume ) = 0;
virtual HRESULT SetVolume( LONG lVolume ) = 0;
virtual HRESULT GetCurrentPosition( LPDWORD lpdwPosition, LPBOOL lpfLostFocus ) = 0;
virtual HRESULT Record( BOOL fLooping ) = 0;
virtual HRESULT Stop() = 0;
virtual HRESULT SelectMicrophone( BOOL fSelect ) = 0;
virtual LPWAVEFORMATEX GetRecordFormat() = 0;
virtual DWORD GetStartupLatency() = 0;
virtual HRESULT YieldFocus() = 0;
virtual HRESULT ClaimFocus() = 0;
};
#endif