#if !defined _MAKEWAVE_H #define _MAKEWAVE_H int makewave(unsigned char * buffer, DWORD size); int myplaysound(unsigned char * buffer, DWORD size); class cbhrecord { public: unsigned char * tbuffer; DWORD tbsize; unsigned char * buf1; DWORD bsize; unsigned char * buf2; WAVEFORMATEX waveformat; HWAVEIN hwavein; WAVEHDR pwh1,pwh2; int state; DWORD rsize; double noiselevel; cbhrecord() { state = 0; tbsize = 4096*128; bsize = 4096; rsize = 0; tbuffer = new unsigned char[tbsize]; buf1 = new unsigned char[bsize]; buf2 = new unsigned char[bsize]; waveformat.wFormatTag=WAVE_FORMAT_PCM; waveformat.nChannels=1; waveformat.nSamplesPerSec = 44100; waveformat.nAvgBytesPerSec = 44100; waveformat.nBlockAlign = 1; waveformat.wBitsPerSample = 8; waveformat.cbSize = 0; pwh1.dwBufferLength=bsize; pwh1.dwFlags=0; pwh1.lpData=(char *)buf1; pwh2.dwBufferLength=bsize; pwh2.dwFlags=0; pwh2.lpData=(char *)buf2; }; int start(HWND hWnd); int resycle(DWORD p); int stop(); int isnoise(unsigned char * buf, DWORD size); ~cbhrecord(){ if(state) stop(); delete []tbuffer; delete []buf1; delete []buf2; } }; #endif //!defined _MAKEWAVE_H