D:/work/code_by/Wave/waveAPI.cpp 檔案參考文件

Functions encapsulating win32 wave api. 更多...

#include "waveAPI.h"

查看本檔案的原始碼.

函式

void waveAPIInit ()
bool OpenWaveIn ()
 Open waveIn device (specified by WAVE_MAPPER).
void StartWaveIn ()
 Call waveInStart() to start recording.
void OpenWaveOut ()
 Open waveOut device (specified by WAVE_MAPPER).
void CloseWaveOut ()
 Close waveOut device.
void CloseWaveIn ()
 Close waveIn device.
void CALLBACK waveOutProc (HWAVEOUT hwi, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
 Callback function for waveOutWrite.
void CALLBACK waveInProc (HWAVEIN hwi, UINT uMsg, DWORD dwInstance, DWORD dwParam1, DWORD dwParam2)
 Callback function for waveInStart.

變數

int samplingRate = 44100
int channels = 1
HWND targetWindow
WAVEFORMATEX format
HWAVEOUT waveOutHandle
WAVEHDR waveOutHeader
bool waveOutWriteStart
int waveOutDoneCount
WAVEHDR waveOutHeaders [WIBLSIZE]
HWAVEIN waveInHandle
WAVEHDR waveInHeaders [WIBLSIZE]
short int ** waveInBuffers
int wiblCount
int wiblIndex
int waveInStatus
bool waveAPIInitialized = false


詳細描述

Functions encapsulating win32 wave api.

定義在 waveAPI.cpp 檔.


函式說明文件

void CloseWaveIn (  ) 

Close waveIn device.

備註:
  1. wiblIndex will be reset to 0.
  2. waveInStatus will be set to 0.

定義在 waveAPI.cpp 檔案之第 183 行.

參考 AssertWaveError(), WAVE_IN, waveInHandle, waveInHeaders, waveInStatus, wiblIndex, 及 WIBLSIZE.

void CloseWaveOut (  ) 

Close waveOut device.

備註:
Call this function after CloseWaveIn().

定義在 waveAPI.cpp 檔案之第 162 行.

參考 AssertWaveError(), WAVE_OUT, waveOutHandle, waveOutHeaders, 及 WIBLSIZE.

bool OpenWaveIn (  ) 

Open waveIn device (specified by WAVE_MAPPER).

備註:
  1. Sampling rate is pre-defined.
  2. waveInStatus will be set to 0.

定義在 waveAPI.cpp 檔案之第 51 行.

參考 AssertWaveError(), channels, format, samplingRate, WAVE_IN, waveAPIInit(), waveAPIInitialized, waveInHandle, waveInProc(), 及 waveInStatus.

void OpenWaveOut (  ) 

Open waveOut device (specified by WAVE_MAPPER).

備註:
  1. Call this function before StartWaveIn() to repvent weird behavior.
  2. waveOutWriteStart will be set to false.
  3. waveOutDoneCount will be set to 0.
  4. When two frames are returned from waveIn, waveOutWriteStart will be set to true (in waveInProc(), and waveInProc() will start to write frame to waveOut device.
  5. When a frame is done with waveOutWrite, waveOutDoneCount will be increased by 1.

定義在 waveAPI.cpp 檔案之第 120 行.

參考 AssertWaveError(), channels, format, FRAMESIZE, samplingRate, WAVE_OUT, waveAPIInit(), waveAPIInitialized, waveInBuffers, waveOutDoneCount, waveOutHandle, waveOutHeaders, waveOutProc(), waveOutWriteStart, 及 WIBLSIZE.

void StartWaveIn (  ) 

Call waveInStart() to start recording.

備註:
  1. waveInStatus will be set to 1.
  2. Two buffers will be prepared and added (to prevent frame dropping).

定義在 waveAPI.cpp 檔案之第 82 行.

參考 AssertWaveError(), FRAMESIZE, WAVE_IN, waveInBuffers, waveInHandle, waveInHeaders, waveInStatus, wiblCount, 及 WIBLSIZE.

void waveAPIInit (  ) 

定義在 waveAPI.cpp 檔案之第 30 行.

參考 FRAMESIZE, waveAPIInitialized, waveInBuffers, waveInHandle, waveOutHandle, 及 WIBLSIZE.

被參考於 OpenWaveIn(), 及 OpenWaveOut().

void CALLBACK waveInProc ( HWAVEIN  hwi,
UINT  uMsg,
DWORD  dwInstance,
DWORD  dwParam1,
DWORD  dwParam2 
)

Callback function for waveInStart.

備註:
WaveProcessor() will be called when a frame is full and returned from waveIn. After output to waveOut device, WavePostProcessor will be called to excute necessary cleanup procedures.

定義在 waveAPI.cpp 檔案之第 231 行.

參考 AssertWaveError(), FRAMESIZE, MSG_BUFFER_IN, targetWindow, waveInBuffers, waveInHandle, waveInHeaders, waveInStatus, waveOutHandle, waveOutHeaders, waveOutWriteStart, WavePostProcessor(), WaveProcessor(), wiblCount, wiblIndex, 及 WIBLSIZE.

被參考於 OpenWaveIn().

void CALLBACK waveOutProc ( HWAVEOUT  hwi,
UINT  uMsg,
DWORD  dwInstance,
DWORD  dwParam1,
DWORD  dwParam2 
)

Callback function for waveOutWrite.

定義在 waveAPI.cpp 檔案之第 205 行.

參考 MSG_BUFFER_DONE, targetWindow, 及 waveOutDoneCount.

被參考於 OpenWaveOut().


變數說明文件

int channels = 1

定義在 waveAPI.cpp 檔案之第 8 行.

被參考於 OpenWaveIn(), 及 OpenWaveOut().

WAVEFORMATEX format

定義在 waveAPI.cpp 檔案之第 11 行.

被參考於 TWaveFile::Load(), OpenWaveIn(), 及 OpenWaveOut().

int samplingRate = 44100

定義在 waveAPI.cpp 檔案之第 7 行.

被參考於 OpenWaveIn(), 及 OpenWaveOut().

HWND targetWindow

定義在 waveAPI.cpp 檔案之第 9 行.

被參考於 waveInProc(), 及 waveOutProc().

bool waveAPIInitialized = false

定義在 waveAPI.cpp 檔案之第 27 行.

被參考於 OpenWaveIn(), OpenWaveOut(), 及 waveAPIInit().

short int** waveInBuffers

定義在 waveAPI.cpp 檔案之第 21 行.

被參考於 OpenWaveOut(), StartWaveIn(), waveAPIInit(), 及 waveInProc().

HWAVEIN waveInHandle

定義在 waveAPI.cpp 檔案之第 19 行.

被參考於 CloseWaveIn(), OpenWaveIn(), StartWaveIn(), waveAPIInit(), 及 waveInProc().

WAVEHDR waveInHeaders[WIBLSIZE]

定義在 waveAPI.cpp 檔案之第 20 行.

被參考於 CloseWaveIn(), StartWaveIn(), 及 waveInProc().

int waveInStatus

定義在 waveAPI.cpp 檔案之第 24 行.

被參考於 CloseWaveIn(), OpenWaveIn(), StartWaveIn(), 及 waveInProc().

int waveOutDoneCount

定義在 waveAPI.cpp 檔案之第 16 行.

被參考於 OpenWaveOut(), 及 waveOutProc().

HWAVEOUT waveOutHandle

定義在 waveAPI.cpp 檔案之第 13 行.

被參考於 CloseWaveOut(), OpenWaveOut(), waveAPIInit(), 及 waveInProc().

WAVEHDR waveOutHeader

定義在 waveAPI.cpp 檔案之第 14 行.

WAVEHDR waveOutHeaders[WIBLSIZE]

定義在 waveAPI.cpp 檔案之第 17 行.

被參考於 CloseWaveOut(), OpenWaveOut(), 及 waveInProc().

bool waveOutWriteStart

定義在 waveAPI.cpp 檔案之第 15 行.

被參考於 OpenWaveOut(), 及 waveInProc().

int wiblCount

定義在 waveAPI.cpp 檔案之第 22 行.

被參考於 StartWaveIn(), 及 waveInProc().

int wiblIndex

定義在 waveAPI.cpp 檔案之第 22 行.

被參考於 CloseWaveIn(), 及 waveInProc().


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