D:/work/code_by/Wave/waveAPI.h

查看本檔案說明文件.
00001 #ifndef WAVEAPI_H
00002 #define WAVEAPI_H
00003 
00004 // NOTICE: only support 16-bit PCM format 
00005 
00006 #include <windows.h>
00007 #include <mmsystem.h>
00008 
00009 #define FRAMESIZE 256         // size of a frame
00010 #define WIBLSIZE 8            // how many frame buffers
00011 
00012 #define MSG_BUFFER_IN   (WM_APP + 1)
00013 #define MSG_BUFFER_DONE (WM_APP + 2)
00014 
00015 enum { WAVE_IN, WAVE_OUT };
00016 
00017 //===G E N E R A L   W A V E   F U N C T I O N S===
00018 
00019 extern bool OpenWaveIn();
00020 extern void StartWaveIn();
00021 extern void CloseWaveIn();
00022 extern void OpenWaveOut();
00023 extern void CloseWaveOut();
00024 extern void CALLBACK waveOutProc(HWAVEOUT hwi, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);
00025 extern void CALLBACK waveInProc(HWAVEIN hwi, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2);
00026 
00027 //=== U S E R - P R O V I D E D   F U N C T I O N S===
00028 
00029 extern int AssertWaveError( int source, int err );
00030 extern int WaveProcessor( WAVEHDR * wh, short int * waveSample, int sampleSize);
00031 extern int WavePostProcessor( WAVEHDR * wh, short int * waveSample, int sampleSize);
00032 
00033 //=== G L O B A L   W A V E   V A R I A B L E S ===
00034 
00035 //--- U S E R - S P E C I F I E D   V A R I A B L E S ---
00036 
00037 extern int            samplingRate,   // USER-SPECIFIED VARIABLE
00038                       channels;       // USER-SPECIFIED VARIABLE
00039 extern HWND           targetWindow;   // USER_SPECIFIED VARIABLE
00040 
00041 //--- S Y S T E M - V A R I A B L E S ---
00042 
00043 extern WAVEFORMATEX   format;
00044 
00045 extern HWAVEOUT       waveOutHandle;
00046 extern WAVEHDR        waveOutHeader;
00047 extern bool           waveOutWriteStart;
00048 extern int            waveOutDoneCount;  // how many wibl items has been returned from waveOut
00049 extern WAVEHDR        waveOutHeaders[WIBLSIZE];
00050 
00051 extern HWAVEIN        waveInHandle;
00052 extern WAVEHDR        waveInHeaders[WIBLSIZE];
00053 extern short int **   waveInBuffers;
00054 extern int            wiblCount, // how many wibl items has been added to waveIn
00055                       wiblIndex; // how many wibl items has been returned from waveIn
00056 extern int            waveInStatus; // 1: for recording, 0: else
00057 
00058 #endif

產生日期:Tue Jul 11 11:52:19 2006, 專案:cbmr, 產生器:  doxygen 1.4.7