2025-04-27 07:49:33 -04:00

153 lines
3.7 KiB
C++

/*==========================================================================
*
* Copyright (C) 1999 Microsoft Corporation. All Rights Reserved.
*
* File: arecd.cpp
* Content: This module contains the implementation of the CAudioRecordDevice
* class.
*
* History:
* Date By Reason
* ==== == ======
* 07/16/99 rodtoll Created
* 08/04/99 rodtoll Updated to take dsound ranges for volume
* 10/05/99 rodtoll Added DPF_MODNAMEs
* 11/12/99 rodtoll NO LONGER REQUIRED
*
***************************************************************************/
#include "stdafx.h"
#if 0
#include "arecd.h"
#include "wiutils.h"
#include "OSInd.h"
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::CAudioRecordDevice"
// CAudioRecordDevice Constructor
//
// This is the constructor for the CAudioRecordDevice class. It sets
// the class member variables to sensible values.
//
// Parameters:
// N/A
//
// Returns:
// N/A
//
CAudioRecordDevice::CAudioRecordDevice(
): m_recordFormat(NULL), m_waveInDeviceID(0),
m_recordStartTimeout(0), m_recordLockTimeout(0),
m_recordShutdownTimeout(0), m_deviceID(0),
m_valid(false), m_recording(false),
m_recordStartLock(false), m_recordShutdownLock(false),
m_recordLock(false),
m_volume(0), m_initialized(false)
{
}
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::~CAudioRecordDevice"
// CAudioRecordDevice Destructor
//
// This is the destructor for the CAudioRecordDevice class. Placeholder
// for now.
//
// Parameters:
// N/A
//
// Returns:
// N/A
//
CAudioRecordDevice::~CAudioRecordDevice()
{
}
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::SelectMicrophone"
// SelectMicrophone
//
// This function causes the microphone to be selected in the
// windows recording mixer for the device represented by this
// object.
//
// Parameters:
// N/A
//
// Returns:
// bool - true on success, false on failure
//
bool CAudioRecordDevice::SelectMicrophone()
{
return (bool) MicrophoneSelect( m_waveInDeviceID );
}
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::GetVolume"
// GetVolume
//
// This function returns the current volume setting of the device
// represented by this object. It will either use the last value
// retrieved or query the device for the current value.
//
// Parameters:
// bool query - true to query the device, false to use cached value
//
// Returns:
// unsigned char - The current volume of the record device, a value
// between 0 and 100.
//
LONG CAudioRecordDevice::GetVolume( bool query )
{
if( !query )
{
return m_volume;
}
else
{
MicrophoneGetVolume( m_waveInDeviceID, m_volume );
return m_volume;
}
}
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::SetVolume"
// SetVolume
//
// This function sets the volume of the device represented by this
// object to the value specified by volume.
//
// Parameters:
// unsigned char volume - The volume to set, 0-100
//
// Returns:
// bool - true on success, false on failure
//
bool CAudioRecordDevice::SetVolume( LONG volume )
{
m_volume = volume;
return (bool) MicrophoneSetVolume( m_waveInDeviceID, volume );
}
#undef DPF_MODNAME
#define DPF_MODNAME "CAudioRecordDevice::ClearLockedFlags"
// ClearLockedFlags
//
// This function clears the flags which indicate if a lockup has
// occured. A useful utility function for derived classes.
//
// Parameters:
// N/A
//
// Returns:
// N/A
//
void CAudioRecordDevice::ClearLockedFlags()
{
m_recordStartLock = false;
m_recordShutdownLock = false;
m_recordLock = false;
}
#endif