📄 wavex.h
字号:
// A Header file for wave functions for dialer/talker
// (c) Dialogic corp. 1995, 1996
typedef struct _wavecashedinfo // for temporary storage
{
int nDeviceID;
int nFormatID;
WAVEFORMATEX WF;
} CASHEDINFO, *PCASHEDINFO;
class CTapiWave : public CObject
{
DECLARE_DYNAMIC(CTapiWave)
// Attributes
protected:
CTapiWave();
public:
LPVOID m_lpvCall; // only one call
LPVOID m_lpvLine; // line
DWORD m_dwLineID;
static WAVEFORMATEX wfDialogicFormats[12];
protected:
HWAVEIN m_hWaveIn;
HWAVEOUT m_hWaveOut;
DWORD m_dwState;
DWORD m_dwVolume;
char m_szRecFileName[16]; // file name for recording
public:
CTapiWave(LPVOID lpLine, LPVOID lpCall, DWORD dwLineID);
//virtual ~CTapiWave();
int ctwGetID(LPSTR); // Get ID by name
BOOL ctwPlay(HWND, UINT, LPSTR); // play the WAVE file
BOOL ctwRecord(HWND hWnd, UINT nID, int nFormatID=10, DWORD dwSize=65534); // record the Wave file
BOOL ctwPause(); // Pause
BOOL ctwResume(); // Resume
BOOL ctwStop(); // Stop
void ctwFinishPlay(WPARAM, LPARAM); // handle the driver notification
void ctwFinishRecord(WPARAM wParam, LPARAM lParam, LPSTR lpName=NULL); // handle the driver notification
DWORD ctwGetState() // Extract state
{return m_dwState;}
HWAVE ctwGetHWave(WORD wFlag)
{return wFlag == WAVEIN ? (HWAVE)m_hWaveIn : wFlag == WAVEOUT ? (HWAVE)m_hWaveOut : (HWAVE)0xffffffff;}
DWORD ctwGetVolume() {return m_dwVolume;}
void ctwSetVolume(DWORD dwVol=0xffff);
protected:
HWAVEOUT WavexPlay(HWND, UINT, LPSTR); // play the WAVE file
HWAVEIN WavexRecord(HWND hWnd, UINT nID, int nFormatID=10, DWORD dwBufSize=65534); // record the Wave file
void WavexFinishPlay(WPARAM, LPARAM); // handle the driver notification
void WavexFinishRecord(WPARAM, LPARAM, LPSTR); // handle the driver notification
void WavexSaveData(LPWAVEHDR, LPSTR);
DWORD ctwSetState(DWORD dwNewState) // Set state
{return (DWORD)InterlockedExchange((LPLONG)&m_dwState, (LONG)dwNewState);}
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -