📄 gxvoice.pas
字号:
unit GxVoice;
interface
uses Windows;
const MAX_CARD_NUM =$0008;
const MAX_CHANNEL_NUM =$0040;
const MAX_FILE_NAME_NUM =$0040;
const MAX_DTMF_NUM =$0040;
const MAX_FSK_NUM =$0400;
const MAX_CID_NUM =$0080;
const MAX_INDEX_FILE_NUM =$0040;
const MAX_INDEX_BUFFER_NUM =$0100;
const MAX_CONFERENCE_GROUP_NUM =$000A;
const MAX_CONFERENCE_RESOURCE_NUM =$0020;
const MAX_CONFERENCE_GROUP_RESOURCE_NUM =$0006;
const MESSAGE_HAVE_CID_FSK =$0000;
const MESSAGE_HAVE_CID_DTMF =$0001;
const MESSAGE_HAVE_CID_ERROR =$0002;
const MESSAGE_HAVE_DTMF =$0003;
const MESSAGE_PLAY_VOICE_END =$0004;
const MESSAGE_PLAY_VOICE_EXIT =$0005;
const MESSAGE_RECORD_VOICE_END =$0006;
const MESSAGE_RECORD_VOICE_EXIT =$0007;
const MESSAGE_GENERATE_SIGNAL_END =$0008;
const MESSAGE_GENERATE_SIGNAL_EXIT =$0009;
const MESSAGE_GENERATE_DTMF_END =$000A;
const MESSAGE_SEND_FSK_END =$000B;
const MESSAGE_HAVE_DIAL_TONE =$000C;
const MESSAGE_HAVE_BUSY_TONE =$000D;
const MESSAGE_HAVE_BACK_TONE =$000E;
const MESSAGE_HAVE_TONE_DATA =$000F;
const MESSAGE_HAVE_HELLO_VOICE =$0010;
const MESSAGE_HAVE_SILENCE_DATA =$0011;
const MESSAGE_HAVE_TIME_OUT =$0012;
const MESSAGE_HAVE_FSK_DATA =$0013;
const MESSAGE_PLAY_CIRCLE_FIRST_END =$0014;
const MESSAGE_PLAY_CIRCLE_SECOND_END =$0015;
const MESSAGE_RECORD_CIRCLE_FIRST_END =$0016;
const MESSAGE_RECORD_CIRCLE_SECOND_END =$0017;
const MESSAGE_AUTO_DIAL_NO_DIAL_TONE =$0018;
const MESSAGE_AUTO_DIAL_NONE_LISTEN =$0019;
const MESSAGE_AUTO_DIAL_HAVE_BUSY =$001A;
const MESSAGE_AUTO_DIAL_HOOK_OFF =$001B;
const MESSAGE_HAVE_SPECIAL_SIGNAL =$001C;
const MESSAGE_HAVE_BACK_TONE_HALT =$001E;
const MESSAGE_USER_HOOK_OFF =$1001;
const MESSAGE_USER_HOOK_ON =$1002;
const MESSAGE_USER_PICK_UP =$1003;
const MESSAGE_USER_RING_END =$1004;
const MESSAGE_TRUNK_RING =$2000;
const MESSAGE_TRUNK_POLE =$2001;
const MESSAGE_TRUNK_PICK_UP_END =$2002;
const MESSAGE_RECORD_HOOK_OFF =$3001;
const MESSAGE_RECORD_HOOK_ON =$3002;
const MESSAGE_RECORD_RING =$3003;
const MESSAGE_RECORD_OPEN_CIRCLE =$3004;
const MESSAGE_RECORD_NO_OPEN_CIRCLE =$3005;
const MESSAGE_SEND_FAX_OK =$6000;
const MESSAGE_SEND_FAX_ERROR =$6001;
const MESSAGE_RECEIVE_FAX_OK =$6002;
const MESSAGE_RECEIVE_FAX_ERROR =$6003;
const MESSAGE_FAX_HAVE_REMOTE_TEL_NO =$6004;
const MESSAGE_FAX_HAVE_INFORMATION =$6005;
const MESSAGE_PLAY_SOUND_END =$7031;
const MESSAGE_PLAY_SOUND_EXIT =$7032;
const COMPRESS_TYPE_64KBPS =$00;
const COMPRESS_TYPE_32KBPS =$01;
const COMPRESS_TYPE_16KBPS =$02;
const COMPRESS_TYPE_8KBPS =$03;
const COMPRESS_TYPE_GSM =$04;
// Define Error const
const GX_OK =$0000;
const GX_NO_ERROR =$0000;
const GX_ERROR =$FFFF;
const GX_ERROR_LOAD_PROGRAM =$FFFE;
const GX_ERROR_OPEN_DRIVER =$FFFD;
// Define Channel Type Const
const CHANNEL_TYPE_NONE =$0000;
const CHANNEL_TYPE_USER =$0001;
const CHANNEL_TYPE_TRUNK =$0002;
const CHANNEL_TYPE_RECORD =$0003;
const CHANNEL_TYPE_MIX =$0004;
const STOP_NOT_DTMF =$00;
const STOP_ANY_DTMF =$01;
// Define struct for all voice card
type
GX_MESSAGE_INFO = RECORD
MessageCode : WORD;
ChannelNo : WORD;
MsgBuff : ARRAY[0..5] of WORD;
END;
PGX_MESSAGE_INFO=^GX_MESSAGE_INFO;
GX_TONE_INFO = RECORD
DialToneMinTotalTime : WORD; // Max Signal All times By MilliSecond, default :2500
BusyToneMaxTotalTime : WORD; // Max Signal All times By MilliSecond, default :1500
BusyToneMinTotalTime : WORD; // Min Signal All times By MilliSecond, default :500
BusyToneRatio : WORD; // Ratio(%)(On Times/All Times), default :50
BusyToneErrorBetweenTwo : WORD; // Error between Ratio (%), default :10
BusyToneTotalTimes : WORD; // Total Times, default :3
BackToneMaxTotalTime : WORD; // Max Signal All times By MilliSecond, default :6000
BackToneMinTotalTime : WORD; // Min Signal All times By MilliSecond, default :4000
BackToneRatio : WORD; // Ratio(%)(On Times/All Times), default :20
BackToneErrorBetweenTwo : WORD; // Error between Ratio (%), default :10
BackToneTotalTimes : WORD; // Total Times, default :2
end;
PGX_TONE_INFO=^GX_TONE_INFO;
GX_FAX_INFORMATION = RECORD
SignalRate : WORD;
Resolution : WORD;
TwoDimensional : WORD;
RecordWidth : WORD;
RecordLength : WORD;
end;
PGX_FAX_INFORMATION=^GX_FAX_INFORMATION;
function GX_InitializeSystem() : WORD; stdcall; far external 'GxV16.dll';
function GX_CloseSystem() : WORD; stdcall; far external 'GxV16.dll';
function GX_GetCardSerialNo(CardNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_GetTotalCardCount() : WORD; stdcall; far external 'GxV16.dll';
function GX_GetCardStatus(CardNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_GetTotalChannelCount() : WORD; stdcall; far external 'GxV16.dll';
function GX_GetChannelType(ChannelNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_GetChannelStatus(ChannelNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_GetTotalVoiceChannel() : WORD; stdcall; far external 'GxV16.dll';
function GX_OpenChannel(ChannelNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_CloseChannel(ChannelNo : WORD) : WORD; stdcall; far external 'GxV16.dll';
function GX_GetMessageForWindows(WaitTime : WORD; pMessageBuffer : PGX_MESSAGE_INFO) : WORD; stdcall; far external 'GxV16.dll';
function GX_CheckMessageForWindows(WaitTime : WORD; pMessageBuffer : PGX_MESSAGE_INFO) : WORD; stdcall; far external 'GxV16.dll';
function GX_UserRingOn(ChannelNo : WORD;RingOnTime : WORD;RingOffTime : WORD;TotalTimes : WORD) : WORD; stdcall; far external 'GxV16.dll';
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -