www.pudn.com > AudioVideoCapture.rar > CAudioCaptureFilter.h
//
// CAudioCaptureFilter.h
//
#ifndef __H_CAudioCaptureFilter__
#define __H_CAudioCaptureFilter__
#include <afxtempl.h>
#include "CDXFilter.h"
class CAudioInput
{
public:
CString mInputName;
IPin * mInputPin; // NOT outstanding reference
CAudioInput() {};
~CAudioInput() {};
};
typedef CList<CAudioInput, CAudioInput&amt;> INPUT_LIST;
class CAudioCaptureFilter : public CDXFilter
{
private:
char mDeviceName[256];
INPUT_LIST mInputList;
public:
CAudioCaptureFilter(IGraphBuilder * inGraph, const char * inDeviceName);
virtual ~CAudioCaptureFilter(void);
virtual BOOL CreateFilter(void);
long GetConnectorCount(void);
CString GetConnectorName(long inIndex);
void SetConnector(long inIndex);
long GetConnector(void);
void SetMixLevel(double inLevel);
private:
void SetDefaultInputPin(void);
void SetCaptureBufferSize(void);
void BuildInputList(void);
IAMAudioInputMixer * GetMixer(IPin * inPin);
};
#endif // __H_CAudioCaptureFilter__