sprint 1-alpha
sprint/audio/wavein.h
00001 #ifndef _SPRINT_WAVE_IN
00002 #define _SPRINT_WAVE_IN
00003 
00004 /* WAVEIN.h */
00005 
00006 namespace sprint {
00007 
00008 class WaveIn {
00009         HWAVEIN  hwi;
00010         UINT nInputBuffer;
00011         UINT nBufferSize;
00012 
00013         BYTE *input_buffer;
00014         WAVEHDR *WaveHeader;    
00015         UINT uIBuffer;
00016         WAVEFORMATEX wfxInput;
00017 public:
00019         WaveIn(UINT nInputBuffer, UINT nBufferSize);
00020         ~WaveIn();
00021 
00022         UINT GetNumberOfDevices();
00023         
00024         bool Init(HWND hWnd, WAVEFORMATEX *pwfxInput, UINT_PTR uDeviceID);
00025         
00026         bool InitEx(WAVEFORMATEX *pwfxInput, 
00027                 UINT_PTR uDeviceID, 
00028                 DWORD_PTR dwCallback, 
00029                 DWORD_PTR dwCallbackInstance, 
00030                 DWORD  fdwOpen);
00031                 
00032         bool Done();
00033 
00034         inline bool Test(HWAVEIN hwitest) {
00035                 return hwi == hwitest;
00036         };
00037 
00038         bool ResetBuffer(WAVEHDR *target);
00039 
00040         UINT CopyBufferData(WAVEHDR *src, LPBYTE lpBuffer, UINT uBufferSize);
00041         
00043         bool Start();
00044         
00046         bool Stop();
00047 };
00048 
00049 }
00050 
00051 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Defines