📄 am.h
字号:
#ifndef _AM_H
#define _AM_H
//Negotiate the API versions
#define TAPI_VERSION_1_0 0x00010003 //TAPI Ver1.3
#define TAPI_VERSION_1_4 0x00010004 //TAPI Ver1.4
#define TAPI_VERSION_2_0 0x00020000 //TAPI Ver2.0
#define NOERR 0x00000000
//dwCallState use, to show call state
#define TAPI_HANGUP 0x00000000 //call no use
#define TAPI_PLAYGREET 0x00000001 //call play greet
#define TAPI_RECORDICM 0x00000002 //call record ICM
#define TAPI_PLAYICM 0x00000004 //call play ICM
#define TAPI_PREPAREPLAYICM 0x00000008 //call close play greet,then play ICM
//lineSetAppSpecific param2 use, that
//wavecallback use to connect linecallback
#define TAPI_SETAPP_NONE 0x00000000 //default set it
#define TAPI_SETAPP_ENDPLAYGREET 0x00000001 //end of play greet
#define TAPI_SETAPP_ENDRECORDICM 0x00000002 //end of record ICM
#define TAPI_SETAPP_ENDPLAYICM 0x00000004 //end of play ICM
#define TAPI_SETAPP_PREPAREPLAYICM 0x00000008 //end of prepare play ICM
#define TAPI_SETAPP_ADDPLAYSTAGE 0x00000010 //lpWaveHdr is done when play
#define TAPI_SETAPP_ADDPLAYSTAGE2 0x00000011 //lpWaveHdr2 is done when play
#define TAPI_SETAPP_ADDRECORDSTAGE 0x00000012 //lpWaveHdr is done when record
#define TAPI_SETAPP_ADDRECORDSTAGE2 0x00000014 //lpWaveHdr2 is done when record
#define WAVEBUFSIZE 8192 //buffer size ,use to save wave data
extern HLINEAPP m_hLineApp; //application's header
extern LPVARSTRING lpDeviceID; //use for lineGetID parameter5
typedef struct linecallback_tag //save linecallback's six parameters
{
DWORD dwDevice;
DWORD nMsg;
DWORD dwCallbackInstance;
DWORD dwParam1;
DWORD dwParam2;
DWORD dwParam3;
}ADCALLBACK;
typedef struct lineinfo_tag
{
HLINE hLine; //line handle
HCALL hCall; //call handle
DWORD dwApiVersion; //TAPI version
DWORD dwLineID; //line Device ID
DWORD dwWaveID; //wave Device ID
DWORD nLineID; //line ID
DWORD dwCallState; //flag to show the call state
HWAVEOUT hWaveOut; //wave out handle
HWAVEIN hWaveIn; //wave in handle
LPWAVEHDR lpWaveHdr; //wave header
LPWAVEHDR lpWaveHdr2; //wave header
HPSTR lpWaveDataAlloc; //buffer use to save wave data to lpWaveHdr
HPSTR lpWaveDataAlloc2; //buffer use to save wave data to lpWaveHdr2
MMCKINFO mmParent,mmSubchunk; //chunk for wave use
HMMIO hmmioH;
DWORD dwPlaySize; //wave play or record size in wave header
DWORD dwWaveStage; //need add data to wave header?
DWORD dwDataSize; //wave data total size not ready now
WORD wWaveBufState; //check which lpWaveHdr(2) is use
char szLineName[50]; //save channel name
char pszLoginID[5]; //saving user input DTMF when play greet.wav
char pszRecStop[20]; //saving user input DTMF when record income.wav
LPLINECALLINFO lpCallInfo; //save LINECALLINFO
ADCALLBACK pCallBack; //save linecallback's six parameters
}LINEINFO, FAR *LPLINEINFO;
long InitializeLines(DWORD, DWORD); //include lineInitialize , lineNegotiateAPIVersion
void CALLBACK ADmorelineCallbackFunc(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
BOOL ExitCtrlHandler(DWORD); //exit handler ,use to exit application
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -