sprint 1-alpha
|
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