📄 开发手册.txt
字号:
开发手册
TMNC_OCX.ocx
前述:
1、OCX控件的手动注册办法:RegSvr32 TMNC_OCX.ocx
2、录音服务器端必须要安装Ver4.0及以上版本的录音服务程序。
此ocx控件是电话录音系统的客户端第三方软件开发接口用的,具体使用如下:
一、OCX控件的GUID:
GUID={E94560D6-0ADA-4303-83C3-1FC615519DC3}
二、函数与方法:
1、function EC_Connect(const sHost: WideString):Boolean;
说明:此函数是其他函数与方法调用的前提,用来与录音服务器建立连接用。
参数:sHost是录音服务器IP地址或者是服务器的域名,与服务器连接的有3个端口,
分别是9090、9091与9094,所以要确保客户端端能通过这3个端口在连接
时不会受阻拦,所以要注意防火墙的设置。
返回值:True表示成功,False表示失败
2、procedure EC_DisConnect;
说明:用来断开与服务器的连接。
参数:无。
3、function EC_DownLoadFile(const sFileName, sSaveTo: WideString):Boolean;
说明:从服务器上下载录音文件用。
参数:sFileName:是服务器上的录音文件名,必须包括文件的存储路径与文件名,下载录
音文件前,需要先调用EC_Connect函数登录录音服务器。
sSaveTo:将文件保存到客户端本地的位置,也必须包括文件路径与文件名。
返回值:True表示成功,False表示失败
注:下载完成后的录音文件是wav格式的,可以用windows自带的播放器进行播放。
4、function EC_DownLoadFileEx(const sHost,sFileName, sSaveTo: WideString):Boolean;
说明:从指定录音服务器上下载录音文件用,下载录音文件时,可以不用先调
用EC_Connect登录录音服务器,可以在任何时间调用此函数用来下载文件。
参数:sHost:录音服务器的IP地址或者域名。
sFileName:是服务器上的录音文件名,必须包括文件的存储路径与文件名。
sSaveTo:将文件保存到客户端本地的位置,也必须包括文件路径与文件名。
返回值:True表示成功,False表示失败
注:下载完成后的录音文件是wav格式的,可以用windows自带的播放器进行播放。
5、function EC_PlayFile(const sFile: WideString):Boolean;
说明:播放录音文件,播放录音文件前,需要先调用EC_Connect函数登录录音服务器。
参数:sFile:是服务器上的录音文件名,必须包括文件的存储路径与文件名。此参数的来源
主要是OnRecFile事件收到的RecFile文件名。
返回值:True表示成功,False表示失败
6、function EC_PlayFileEx(const sHost,sFile: WideString):Boolean;
说明:播放指定录音服务器上的录音文件,播放文件时,可以不用先EC_Connect录音服
务器,可以在任何时间调用此函数用来播放文件。
参数:sHost:录音服务器的IP地址或者域名。
sFile:是服务器上的录音文件名,必须包括文件的存储路径与文件名。此参数的来源
主要是OnRecFile事件收到的RecFile文件名。
返回值:True表示成功,False表示失败
7、EC_StopPlay();
说明:停止当前正在播放的录音。
参数:无。
8、function EC_StartMonitor(const iCh:Integer):Boolean;
说明:开始实时监听指定通道的通话声音,实时监听用到的放音设备是操作系统默认
的放音设备。
iCh:监听的通道,取值范围0-255,分别表示监听第1路到第256路,注意,如果这个
函数连续重复调用,后一次调用后,会自动关闭前一次的调用,也就是说,实际
听到的声音是最后一次调用的通道声音。
返回值:True表示成功,False表示失败
9、Procedure EC_StopMonitor;
说明:停止实时监听,此函数不需要参数。
10、function EC_SetLoginInfo(const sUserCode,sPassword: WideString):Boolean;
说明:此函数是电话屏蔽系统用来设置每个电话使用人的用户编号与密码,在电话屏蔽
系统中,如果服务端设置只有登录后才可以拨打电话,那么只有采用此函数设置
了用户名的用户才可以拨打电话。
参数:sUserCode:登录用户名,建议只采用数字字符,因为电话机端登录时只能输入数字字符。
sPassword:登录密码,建议只采用数字字符,因为电话机端登录时只能输入数字字符。
返回值:True表示成功,False表示失败
11、function EC_SetLimitedTel(const sUserCode,sTelNum: WideString):Boolean;
说明:电话屏蔽系统中,用来设置指定电话号码只允许哪些用户编号可以拨打。
参数:sUserCode:用来指定哪些用户编号可以拨打TelNum指定的号码,可以同时设置多个用户
编号,多个用户编号之间用都好“,”进行隔开,如果此参数为空表示不限制此电
话号码。
sTelNum:指明此函数设置的电话号码。
返回值:True表示成功,False表示失败
举例:
1、EC_SetLimitedTel('1001,1002,1006','88886666'),此函数设置后,只允
许1001与1002与1006这3个编码的用户拨打'8888666'这个电话号码,其他编号的
用户如果拨打'88886666'这个号码就会被阻断,达到屏蔽的效果。
2、EC_SetLimitedTel('','88886666'),设置后,任何用户编号都可以拨打'88886666'这
个电话号码,达到撤销屏蔽指定电话号码的效果。
12、function EC_SoftDialOut(const sPhoneNumFrom,sPhoneNumTo: WideString):Boolean;
说明:软件拨号函数,用来实现外呼功能。
参数:sPhoneNumFrom:坐席电话号码,外呼时,指定本地内线坐席号码振铃;
sPhoneNumTo:被呼叫的电话号码。
返回值:True表示成功,False表示失败
13、function EC_StopSoftDialOut(const sPhoneNumFrom: WideString):Boolean;
说明:停止正在进行的拨号。
参数:sPhoneNumFrom:正在振铃的电话号码。
返回值:True表示成功,False表示失败
三、事件与消息
1、procedure OnConnect(const sHost:WideString);
说明:当客户端与服务器连接成功后,会产生这个事件。
参数:sHost:连接上的服务器的IP地址或者是域名。
注:如果连接成功后,中途网络断了,或者是录音服务程序关闭,客户端会自动去连接
服务器,一旦网络通了,或者是服务器起来了,客户端连接上后,也会产生一个这样
的事件。
2、procedure OnDisConnect(const sHost:WideString);
说明:当客户端与服务器的连接中断后,会产生这个事件。
参数:sHost:服务器的IP地址或者是域名。
注:如果连接成功后,中途网络断了,或者是录音服务程序关闭,均会产生该事件,用
户可以根据这个消息来判断网络连接是否正常。
3、procedure OnCallIn(const sLocalNum: WideString; const sCallInNum: WideString);
说明:当有电话打入时,OCX控件会自动产生该事件,并传递相应参数。
参数:sLocalNum:本地号码,即本地振铃的电话号码,此号码是在录音服务器上设置好的。
sCallInNum:来电号码,即来电显示的号码。
注:此事件是在电话的第一次振铃与第二次振铃之间产生,且电话必须申请来电显示功能。
可以在这个事件下根据来电号码查找客户资料。
4、procedure OnCallOut(const sLocalNum: WideString; const sCallOutNum: WideString);
说明:摘机打出时,每按一个键就会产生一个事件,并且传递打出的号码。
参数:sLocalNum:本地号码,即本地振铃的电话号码,此号码是在录音服务器上设置好的。
sCallOutNum:拨出去的电话号码。
注:可以在这个事件下查找客户资料,每接收一次,就可以从数据库中查找一次客户资料。
5、procedure OnRecFile(const sLocalNum,sRecFile,sDateTime: WideString; const iIO,iLen:Integer; sRemoteNum:WoidString);
说明:当打出或者打入电话,本地电话挂机后,就会产生这个事件,并且传递录音文件的名称。
参数:sLocalNum:本地号码,即本地振铃的电话号码,此号码是在录音服务器上设置好的。
sRecFile:录音文件名称,此名称包括了文件的目录与文件名,命名格式为:
“C:\TMNData\20070708\66668888\P-113912-I-0006-1234567890-S.Dat”
|______| |______| |_|____| | |__| |________| |
A B C D E F G H
说明:A:表示日期,由8位字符组成,格式是"YYYYMMDD",分别表示年月日;
B:本地号码,字符数量不定,所以建议服务器端设置本地号码时不要包含“\”字样;
C:由2个字符组成,表示当前文件的语音压缩格式,
"P-"表示2倍压缩的DIALOGIC ADPCM压缩格式;
"V-"表示2倍压缩的IMA ADPCM压缩格式;
"Q-"表示4倍压缩的ADPCM格式;
"G-"或者没有字符标志则表示GSM格式。
D:通话开始时间,由6个字符组成,格式是"HHNNSS",分别表示时分秒;
E:通话方向,一个字符长度,"O"表示打出,"I"表示打入;
F:通话时长,由4个字符组成,时长不够4位的以字符"0"填充,单位是秒;
G:对方号码,长度不定,视实际来电情况为准;
H:谁先挂机,"S"本地先挂机,"R"对方先挂机,此功能只有数字电话录音才生效。
sDateTime:录音开始时间,格式是“YYYY-MM-DD HH:NN:SS”。
iIO:主被叫方向,0表示打出,1表示打入。
iLen:通话时长,单位秒。
sRemoteNum:对方号码,打入电话表示来电显示号码,打出号码表示拨打的对方号码。
注:收到录音文件名后,可以保存到数据库中,便于以后回放用。
如果通话结束后没有产生该事件,请检测服务器的配置,比如录音时段限制、通话时
长限制等。
6、procedure OnNoAnswer(const sLocalNum:WideString; const sCallID:WideString);
说明:当有电话打入,且无人接听的情况,即未接来电信息。
参数:sLocalNum:本地号码。
sCallID:未接来电号码。
注:此来电号码在OnCallIn事件中也会发送过来,但是不同的是,只有当来电无人接听时
才会产生OnNoAnswer事件。
7、Procedure OnFilePlayEnd;
说明:当文件播放结束后,会产生此消息。
参数:无
8、Procedure OnHookOff(const sLocalNum:WidString; const sTime:WideString);
说明:本地电话摘机时,会产生此消息。
参数:sLocalNum:本地号码。
sTime:摘机的时间,格式是“YYYY-MM-DD HH:NN:SS”。
9、Procedure OnHookOn(const sLocalNum:WidString; const sTime:WideString);
说明:本地电话挂机时,会产生此消息。
参数:sLocalNum:本地号码。
sTime:挂机的时间,格式是“YYYY-MM-DD HH:NN:SS”。
10、Procedure OnRing(const sLocalNum:WidString; const sTime:WideString);
说明:当有电话打入,本地电话振铃时,会产生此消息,只有第一次振铃才会产生一个这样的消息。
参数:sLocalNum:本地号码。
sTime:振铃的时间,格式是“YYYY-MM-DD HH:NN:SS”。
注:根据此函数,可以记录电话在摘机接听前的振铃等待时间长度。可以设置一个变量用来存储第一次
振铃的时间,如果电话已经接听,可以根据OnHookOff事件的时间计算出接听前等待时长;如果电话
未接听,可以根据OnNoAnswer事件产生的时间来计算未接电话振铃时长。
11、Procedur OnPlayClick(var sHost:WidString; var sFile: WideString);
说明:当点击控件上的播放按钮(三角形的按钮),会产生此事件,目的是方便用户自己指定需要播放的
录音文件。在未连接上服务器时,也可以通过此事件来播放。比如可以在这个事件里面去用户的
数据库里面查找需要的信息,然后付给sHost与sFile就可以了。
参数:sHost:字符型变量,用来指定需要播放的文件存在的服务器,可以是IP地址,也可以是域名;
sFile:服务器上的录音文件,包括全路进与文件名。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -