55 lines
1.4 KiB
C++
55 lines
1.4 KiB
C++
/*==========================================================================
|
|
*
|
|
* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
|
|
*
|
|
* File: MixLine.h
|
|
* Content: Class for managing the mixerLine API.
|
|
*
|
|
* History:
|
|
* Date By Reason
|
|
* ==== == ======
|
|
* 11/30/99 rodtoll Created based on source from dsound
|
|
* 01/24/2000 rodtoll Mirroring changes from dsound bug #128264
|
|
*
|
|
***************************************************************************/
|
|
#ifndef __MIXLINE_H
|
|
#define __MIXLINE_H
|
|
|
|
class CMixerLine
|
|
{
|
|
public:
|
|
CMixerLine();
|
|
~CMixerLine();
|
|
|
|
HRESULT Initialize( UINT uiDeviceID );
|
|
|
|
HRESULT SetMicrophoneVolume( LONG lMicrophoneVolume );
|
|
HRESULT GetMicrophoneVolume( LPLONG plMicrophoneVolume );
|
|
|
|
HRESULT SetMasterRecordVolume( LONG lRecordVolume );
|
|
HRESULT GetMasterRecordVolume( LPLONG plRecordVolume );
|
|
|
|
HRESULT EnableMicrophone( BOOL fEnable );
|
|
|
|
static HRESULT MMRESULTtoHRESULT( MMRESULT mmr );
|
|
|
|
private:
|
|
BOOL m_fMasterMuxIsMux;
|
|
BOOL m_fAcquiredVolCtrl;
|
|
|
|
MIXERCONTROLDETAILS m_mxcdMasterVol;
|
|
MIXERCONTROLDETAILS m_mxcdMasterMute;
|
|
MIXERCONTROLDETAILS m_mxcdMasterMux;
|
|
MIXERCONTROLDETAILS m_mxcdMicVol;
|
|
MIXERCONTROLDETAILS m_mxcdMicMute;
|
|
MIXERCONTROLDETAILS_UNSIGNED m_mxVolume;
|
|
MIXERCONTROLDETAILS_BOOLEAN m_mxMute;
|
|
MIXERCONTROLDETAILS_BOOLEAN* m_pmxMuxFlags;
|
|
LONG *m_pfMicValue;
|
|
DWORD m_dwRangeMin;
|
|
DWORD m_dwRangeSize;
|
|
UINT m_uWaveDeviceId;
|
|
};
|
|
|
|
#endif
|