⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 phonicdll.h

📁 VC++开发的一个电话录音程序
💻 H
字号:
#ifndef __FIHO_PHONIC_H__
#define __FIHO_PHONIC_H__

#ifdef	__cplusplus
extern "C"{
#endif

#include "ctidef.h"

	
typedef enum enumPhonicEvent
{
	eventState	= 0,		//(eventState,			channelType, channelID, newChannelState, oldChannelState)
	eventDeviceTimer,		//(eventDeviceTimer,	channelType, channelID, 0,0)
	eventSignal,			//(eventSignal,			channelType, channelID, signal, 0)
	eventAlarm,				//(eventAlarm,			channelType, channelID, alarm, 0)
	eventIdle,				//(eventIdle,			channelType, channelID, 0,0)
	eventCallIn,			//(eventCallIn,			channelType, channelID, char * callerID, char * phoneNumber)
	eventAnswer,			//(eventAnswer,			channelType, channelID, 0,0)
	eventCallOutFinish,		//(eventCallOutFinish,	channelType, channelID, 0,0)
	eventCallFail,			//(eventCallFail,		channelType, channelID, cause, 0)
	eventHangup,			//(eventHangup,			channelType, channelID, cause, 0)
	eventDTMF,				//(eventDTMF,			channelType, channelID, dtmfCode, 0)
	eventSignalMonitor,		//(eventSignalMonitor,	channelType, channelID, signalType, signalCode)
	eventPlayEnd,			//(eventPlayEnd,		channelType, channelID, completeSize, 0)
	eventRecordEnd,			//(eventRecordEnd,		channelType, channelID, completeSize, 0)
	eventFaxError,			//(eventFaxError,		channelType, channelID, cause, 0)
	eventOneFaxPageOver,	//(eventOneFaxPageOver, channelType, channelID, isFinishedAll, 0)
	eventFlash,				//(eventFlash,			channelType, channelID, 0,0)
	eventSendCallerIDEnd,
	eventSendV23End,
	eventV23DataReady,
	eventRing,                 //振铃 
	eventVoice,        //外线检测到语音 
	eventSilence,      //外线检测到静音 
	eventHanging,				//高阻悬空
	eventDetectedFaxTone,      //检测到传真音 	  
	eventFaxToneMissing,       //检测到传真音消失 	  
	eventRealTimeData,
	eventAnalogSignal,
	eventDtmfOn,
	eventDtmfOff,
	eventPolarity,
	eventEnergy,
	eventVad,
	eventIPArrive,
	eventIPCallFail,
	eventIPAnswer,
	eventIPHangup,
	eventIPRegisterResult,
	eventMax
}EPhonicEvent;

                                    
typedef void (CALLBACK * ProcPhonicFireEventCallBack)(
				EPhonicEvent	eventType,
				int				channelType,	
				int				channelID, 
				int				iParam1,
				int				iParam2);

//事件通知回调函数
void WINAPI tpi_SetEventNotifyCallBackProc( ProcPhonicFireEventCallBack procFireEvent );

int WINAPI tpi_GetPhonicEvent( 
				EPhonicEvent *	pEventType,
				int			 *	pChannelType,	
				int			 *	pChannelID, 
				int			 *	pParam1,
				int			 *	pParam2);

//系统
int  WINAPI tpi_OpenDevice();
void WINAPI tpi_CloseDevice();

int  WINAPI tpi_GetChannelCount(int channelType);
int  WINAPI tpi_GetCardCount(int lCardType);
int  WINAPI tpi_GetCardType(int iCardNo);

int  WINAPI tpi_GetLineCount(void);
int  WINAPI tpi_GetLineID(int channelType, int channelID);
int  WINAPI tpi_GetChannelType(int lineID);
int  WINAPI tpi_GetChannelID(int lineID);


int  WINAPI tpi_GetCardInfo(int cardType, int cardID, int channelType, int* pGroupCount, int* pGroupStartIndex, int* pChannelCount, int* pChannelStartIndex);
int  WINAPI tpi_GetFreeChannel(int groupType, int groupID);
int  WINAPI tpi_GetChannelTimeSlot(int channelType, int channelID, int * pStream, int * pTimeSlot);
int  WINAPI tpi_GetChannelState(int channelType, int channelID);
int  WINAPI tpi_GetRunTime();

//提示音加载
int  WINAPI tpi_AddPromptVoiceFromFile(const char * fileName);
int  WINAPI tpi_AddPromptVoiceFromMemory(char* pVoiceBuffer, int voiceSize);

//交换
int  WINAPI tpi_Exchange(int cardID, int destStream, int destTimeslot, int srcStream, int srcTimeslot, int exchangeType);
int  WINAPI tpi_TalkWith(int destType, int destID, int srcType, int srcID);
int  WINAPI tpi_BreakTalk(int channelType, int channelID);
int  WINAPI tpi_ListenTo(int destType, int destID, int srcType, int srcID);
int  WINAPI tpi_BreakListen(int destChannelType, int destChannelID);

//定时器
int  WINAPI tpi_SetDeviceTimer(int channelType, int channelID, int timer);
int  WINAPI tpi_ClearDeviceTimer(int channelType, int channelID);

//呼叫接续
int  WINAPI tpi_MakeCall(int channelType, int channelID, const char * callerID, const char * phoneNumber, int overtime);
int  WINAPI tpi_Answer(int channelType, int channelID, int bConn);
int  WINAPI tpi_Hangup(int channelType, int channelID, int cause);

// 系列号
int  WINAPI  tpi_GetCardLabel(int iCardNo,char* LabelBuf);
int  WINAPI  tpi_GetCardProductPassword(int iCardNo,int iPermit);
int  WINAPI  tpi_GetCardUserPassword(int iCardNo ,char * pwBuf);
int  WINAPI  tpi_SetCardUserPassword(int iCardNo,char * pwBuf);

//录放音
int  WINAPI tpi_SetVoiceVolume(int channelType, int channelID, int volume, int type);
int  WINAPI tpi_SetVoiceCoder(int channelType, int channelID, int lCoder);

int  WINAPI tpi_PlayPromptVoice(int channelType, int channelID, int pmtIndex, int loopCount);
int  WINAPI tpi_PlayPromptVoiceArray(int channelType, int channelID, int* pPmtIndexArray, int pmtCount, int loopCount);
int  WINAPI tpi_PlayFile(int channelType, int channelID, const char * fileName, int offset, int voiceSize);
int  WINAPI tpi_PlayMemory(int channelType, int channelID, char* pVoiceBuffer, int voiceSize);
int  WINAPI tpi_PlayPause(int channelType, int channelID, int bPause);

int  WINAPI tpi_SendDtmf(int channelType, int channelID, const char * dtmfString, int toneTime, int silenceTime, int scale);
int  WINAPI tpi_PlayTone(int channelType, int channelID, float fFrequency, int dwTimeLength, int dwScale, const char * attrib);
int  WINAPI tpi_PlayText(int channelType, int channelID, const char * text, int isMale, int speed);
int  WINAPI tpi_PlayTextFile(int channelType, int channelID, char* text, int isMale, int speed);
int  WINAPI tpi_ConvertTextToVoiceFile(char *pText, int isMale, int speed, int iTextIsFileName, char* pVocName);

int  WINAPI tpi_StopPlay(int channelType, int channelID);

int  WINAPI tpi_RecordFile(int channelType, int channelID, const char * fileName, int offset, int voiceSize);
int  WINAPI tpi_RecordMemory(int channelType, int channelID, char* pVoiceBuffer, int voiceSize);
int  WINAPI tpi_RecordPause(int channelType, int channelID, int bPause);
int  WINAPI tpi_StopRecord(int channelType, int channelID);


// V23
int  WINAPI tpi_modemSendV23(int channelType, int channelID,char * pData,int iSize);

//电话会议
int  WINAPI tpi_JoinConference(int channelType, int channelID, int conferResourceGrpID, int conferSetID, int Attenuation, int NoiseSuppression);
int  WINAPI tpi_ListenConference(int channelType, int channelID, int conferResourceGrpID, int conferSetID);
int  WINAPI tpi_ExitConference(int channelType, int channelID);
int  WINAPI tpi_ParseConferenceHandle(int conferenceHandle, int* pConferGrpID, int* pConferSetID, int* pMemberCount);
int  WINAPI tpi_GetConferSetMemberInfo(int conferenceHandle, int memberID, int* pChannelType, int* pChannelID);


//FAX
int  WINAPI tpi_faxSetLocalID(int channelType, int channelID, const char * IDString);
int  WINAPI tpi_faxSendFax(int channelType, int channelID, const char * fileName);
int  WINAPI tpi_faxReceiveFax(int channelType, int channelID, const char * fileName);
void WINAPI tpi_faxStopFax(int channelType, int channelID);
int  WINAPI tpi_faxCreateFaxFile(int cvtChannelID, const char * fileName, int Resolution, int scanLineNum);
void WINAPI tpi_faxCloseFaxFile(int cvtChannelID);
int  WINAPI tpi_faxAddTextLine(int cvtChannelID, const char * strText, int horiDoubleFlag, int vertiDoubleFlag, int FontSize);
int  WINAPI tpi_faxAddBmpFile(int cvtChannelID, const char * BmpFileName, int DoubleBitFlag);
int  WINAPI tpi_faxLeftLine(int cvtChannelID);
int  WINAPI tpi_faxOpenConvert();
void WINAPI tpi_faxCloseConvert();
int  WINAPI tpi_faxAddDotLine(int cvtChannelID, const char * szDot, int DotSize, int DotFlag);

//VoIP 专用
HANDLE WINAPI tpi_voipGetDeviceHandle( int cardType, int cardID );
DWORD  WINAPI tpi_voipGetChannelOffset(int channelType,int channelID);
int  WINAPI   tpi_voipGetChannelMinVoicePacketSize(int channelType,int channelID);
int  WINAPI   tpi_voipConnectVoice(int channelType,int channelID );
int  WINAPI   tpi_voipStopStreamVoice(int channelType,int channelID);
void WINAPI   tpi_SetUsedForFaxOnly();


int  WINAPI   tpi_EnableHookOffDetect(int channelType, int channelID, BOOL bEnable);
int  WINAPI   tpi_EnableChannelEvent(int channelType, int channelID, long lMask);
int  WINAPI   tpi_SetSilenceThreshold(int channelType, int channelID,int lSilenceThreshold);
int  WINAPI   tpi_Flash(int channelType, int channelID);
int  WINAPI   tpi_SendMesage(int unitType, int unitID,int msg, DWORD wParam, void * pParam );

int  WINAPI   tpi_StartRealTimeRecord(int channelType,int channelID, int BlockSize);
int  WINAPI   tpi_GetRealTimeRecordData(int channelType,int channelID,char* pBuf,int BufSize);
int  WINAPI   tpi_GetChannelCallerID(int channelType, int channelID,char * callerIDBuf,char * dateTimeBuf);
int  WINAPI   tpi_GetCardPass(int iCardNo);
int  WINAPI   tpi_StartEnergyEvent(int channelType,int channelID,int iInterval,BOOL bStart);
int  WINAPI   tpi_StartVadEvent(int channelType,int channelID,BOOL bStart);
//H.323
int  WINAPI   tpi_H323Open();
void WINAPI   tpi_H323Close();
int  WINAPI   tpi_IPCall(int channelType,int channelID,char* DestIp,char* DestNumber,char* srcNumber);
int  WINAPI   tpi_IPHangup(int channelType,int channelID);
int  WINAPI   tpi_IPAnswer(int channelType,int channelID);
int  WINAPI   tpi_IPRegister(char* GKIP,char* H323ID,char* prefix);
int  WINAPI   tpi_IPUnregister();
int  WINAPI   tpi_SetVoiceThreshold(int channelType, int channelID,int lVoiceThreshold,int lVoiceCount);
int  WINAPI   tpi_SetSilenceThresholdEx(int channelType, int channelID,int lSilenceThreshold,int lSilenceTime,BOOL bDisableEvent);
int  WINAPI   tpi_MakeCallEx(int channelType, int channelID, const char * callerID, const char * phoneNumber,
							 int toneTime, int silenceTime, int scale,int overtime);

#ifdef	__cplusplus
};
#endif

#endif //__FIHO_PHONIC_H__

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -