sprint 1-alpha
|
00001 #ifndef _SPRINT_WAVE_OUT 00002 #define _SPRINT_WAVE_OUT 00003 00004 /* WAVEOUT.H */ 00005 00006 namespace sprint { 00007 00008 class WaveOut { 00009 00010 WAVEHDR *whdrOutput; 00011 00012 HWAVEOUT hwout; 00013 00014 char *output_buffer; 00015 00016 UINT nBufferSize; 00017 UINT nMaxBuffer; 00018 00019 UINT uWritePos; 00020 UINT uCompleteBuffer; 00021 00022 UINT nComplete, nSent; 00023 00024 public: 00025 WaveOut(UINT uMaxBuffer, UINT uBufferSize); 00026 ~WaveOut(); 00027 00028 bool InitEx(WAVEFORMATEX *lpFormat, 00029 UINT_PTR uDeviceID, 00030 DWORD_PTR dwCallback, 00031 DWORD_PTR dwCallbackInstance, 00032 DWORD fdwOpen); 00033 bool Init(HWND hwnd,WAVEFORMATEX *lpFormat, UINT_PTR uDeviceID); 00034 bool Done(); 00035 00036 bool CheckBuffer(); 00037 00038 bool ResetBuffer(WAVEHDR *pwhdr); 00039 bool PlayBuffer(WAVEHDR *pwhdr); 00040 00041 bool SendSilenceBuffer(); 00042 bool SendData(const char *lpData, UINT uDataSize); 00043 00044 bool Restart(); 00045 bool Pause(); 00046 }; 00047 00048 } 00049 00050 #endif