?? 開(kāi)發(fā)手冊(cè).txt
字號(hào):
開(kāi)發(fā)手冊(cè)
TMNC_OCX.ocx
前述:
1、OCX控件的手動(dòng)注冊(cè)辦法:RegSvr32 TMNC_OCX.ocx
2、錄音服務(wù)器端必須要安裝Ver4.0及以上版本的錄音服務(wù)程序。
此ocx控件是電話錄音系統(tǒng)的客戶端第三方軟件開(kāi)發(fā)接口用的,具體使用如下:
一、OCX控件的GUID:
GUID={E94560D6-0ADA-4303-83C3-1FC615519DC3}
二、函數(shù)與方法:
1、function EC_Connect(const sHost: WideString):Boolean;
說(shuō)明:此函數(shù)是其他函數(shù)與方法調(diào)用的前提,用來(lái)與錄音服務(wù)器建立連接用。
參數(shù):sHost是錄音服務(wù)器IP地址或者是服務(wù)器的域名,與服務(wù)器連接的有3個(gè)端口,
分別是9090、9091與9094,所以要確保客戶端端能通過(guò)這3個(gè)端口在連接
時(shí)不會(huì)受阻攔,所以要注意防火墻的設(shè)置。
返回值:True表示成功,F(xiàn)alse表示失敗
2、procedure EC_DisConnect;
說(shuō)明:用來(lái)斷開(kāi)與服務(wù)器的連接。
參數(shù):無(wú)。
3、function EC_DownLoadFile(const sFileName, sSaveTo: WideString):Boolean;
說(shuō)明:從服務(wù)器上下載錄音文件用。
參數(shù):sFileName:是服務(wù)器上的錄音文件名,必須包括文件的存儲(chǔ)路徑與文件名,下載錄
音文件前,需要先調(diào)用EC_Connect函數(shù)登錄錄音服務(wù)器。
sSaveTo:將文件保存到客戶端本地的位置,也必須包括文件路徑與文件名。
返回值:True表示成功,F(xiàn)alse表示失敗
注:下載完成后的錄音文件是wav格式的,可以用windows自帶的播放器進(jìn)行播放。
4、function EC_DownLoadFileEx(const sHost,sFileName, sSaveTo: WideString):Boolean;
說(shuō)明:從指定錄音服務(wù)器上下載錄音文件用,下載錄音文件時(shí),可以不用先調(diào)
用EC_Connect登錄錄音服務(wù)器,可以在任何時(shí)間調(diào)用此函數(shù)用來(lái)下載文件。
參數(shù):sHost:錄音服務(wù)器的IP地址或者域名。
sFileName:是服務(wù)器上的錄音文件名,必須包括文件的存儲(chǔ)路徑與文件名。
sSaveTo:將文件保存到客戶端本地的位置,也必須包括文件路徑與文件名。
返回值:True表示成功,F(xiàn)alse表示失敗
注:下載完成后的錄音文件是wav格式的,可以用windows自帶的播放器進(jìn)行播放。
5、function EC_PlayFile(const sFile: WideString):Boolean;
說(shuō)明:播放錄音文件,播放錄音文件前,需要先調(diào)用EC_Connect函數(shù)登錄錄音服務(wù)器。
參數(shù):sFile:是服務(wù)器上的錄音文件名,必須包括文件的存儲(chǔ)路徑與文件名。此參數(shù)的來(lái)源
主要是OnRecFile事件收到的RecFile文件名。
返回值:True表示成功,F(xiàn)alse表示失敗
6、function EC_PlayFileEx(const sHost,sFile: WideString):Boolean;
說(shuō)明:播放指定錄音服務(wù)器上的錄音文件,播放文件時(shí),可以不用先EC_Connect錄音服
務(wù)器,可以在任何時(shí)間調(diào)用此函數(shù)用來(lái)播放文件。
參數(shù):sHost:錄音服務(wù)器的IP地址或者域名。
sFile:是服務(wù)器上的錄音文件名,必須包括文件的存儲(chǔ)路徑與文件名。此參數(shù)的來(lái)源
主要是OnRecFile事件收到的RecFile文件名。
返回值:True表示成功,F(xiàn)alse表示失敗
7、EC_StopPlay();
說(shuō)明:停止當(dāng)前正在播放的錄音。
參數(shù):無(wú)。
8、function EC_StartMonitor(const iCh:Integer):Boolean;
說(shuō)明:開(kāi)始實(shí)時(shí)監(jiān)聽(tīng)指定通道的通話聲音,實(shí)時(shí)監(jiān)聽(tīng)用到的放音設(shè)備是操作系統(tǒng)默認(rèn)
的放音設(shè)備。
iCh:監(jiān)聽(tīng)的通道,取值范圍0-255,分別表示監(jiān)聽(tīng)第1路到第256路,注意,如果這個(gè)
函數(shù)連續(xù)重復(fù)調(diào)用,后一次調(diào)用后,會(huì)自動(dòng)關(guān)閉前一次的調(diào)用,也就是說(shuō),實(shí)際
聽(tīng)到的聲音是最后一次調(diào)用的通道聲音。
返回值:True表示成功,F(xiàn)alse表示失敗
9、Procedure EC_StopMonitor;
說(shuō)明:停止實(shí)時(shí)監(jiān)聽(tīng),此函數(shù)不需要參數(shù)。
10、function EC_SetLoginInfo(const sUserCode,sPassword: WideString):Boolean;
說(shuō)明:此函數(shù)是電話屏蔽系統(tǒng)用來(lái)設(shè)置每個(gè)電話使用人的用戶編號(hào)與密碼,在電話屏蔽
系統(tǒng)中,如果服務(wù)端設(shè)置只有登錄后才可以撥打電話,那么只有采用此函數(shù)設(shè)置
了用戶名的用戶才可以撥打電話。
參數(shù):sUserCode:登錄用戶名,建議只采用數(shù)字字符,因?yàn)殡娫挋C(jī)端登錄時(shí)只能輸入數(shù)字字符。
sPassword:登錄密碼,建議只采用數(shù)字字符,因?yàn)殡娫挋C(jī)端登錄時(shí)只能輸入數(shù)字字符。
返回值:True表示成功,F(xiàn)alse表示失敗
11、function EC_SetLimitedTel(const sUserCode,sTelNum: WideString):Boolean;
說(shuō)明:電話屏蔽系統(tǒng)中,用來(lái)設(shè)置指定電話號(hào)碼只允許哪些用戶編號(hào)可以撥打。
參數(shù):sUserCode:用來(lái)指定哪些用戶編號(hào)可以撥打TelNum指定的號(hào)碼,可以同時(shí)設(shè)置多個(gè)用戶
編號(hào),多個(gè)用戶編號(hào)之間用都好“,”進(jìn)行隔開(kāi),如果此參數(shù)為空表示不限制此電
話號(hào)碼。
sTelNum:指明此函數(shù)設(shè)置的電話號(hào)碼。
返回值:True表示成功,F(xiàn)alse表示失敗
舉例:
1、EC_SetLimitedTel('1001,1002,1006','88886666'),此函數(shù)設(shè)置后,只允
許1001與1002與1006這3個(gè)編碼的用戶撥打'8888666'這個(gè)電話號(hào)碼,其他編號(hào)的
用戶如果撥打'88886666'這個(gè)號(hào)碼就會(huì)被阻斷,達(dá)到屏蔽的效果。
2、EC_SetLimitedTel('','88886666'),設(shè)置后,任何用戶編號(hào)都可以撥打'88886666'這
個(gè)電話號(hào)碼,達(dá)到撤銷屏蔽指定電話號(hào)碼的效果。
12、function EC_SoftDialOut(const sPhoneNumFrom,sPhoneNumTo: WideString):Boolean;
說(shuō)明:軟件撥號(hào)函數(shù),用來(lái)實(shí)現(xiàn)外呼功能。
參數(shù):sPhoneNumFrom:坐席電話號(hào)碼,外呼時(shí),指定本地內(nèi)線坐席號(hào)碼振鈴;
sPhoneNumTo:被呼叫的電話號(hào)碼。
返回值:True表示成功,F(xiàn)alse表示失敗
13、function EC_StopSoftDialOut(const sPhoneNumFrom: WideString):Boolean;
說(shuō)明:停止正在進(jìn)行的撥號(hào)。
參數(shù):sPhoneNumFrom:正在振鈴的電話號(hào)碼。
返回值:True表示成功,F(xiàn)alse表示失敗
三、事件與消息
1、procedure OnConnect(const sHost:WideString);
說(shuō)明:當(dāng)客戶端與服務(wù)器連接成功后,會(huì)產(chǎn)生這個(gè)事件。
參數(shù):sHost:連接上的服務(wù)器的IP地址或者是域名。
注:如果連接成功后,中途網(wǎng)絡(luò)斷了,或者是錄音服務(wù)程序關(guān)閉,客戶端會(huì)自動(dòng)去連接
服務(wù)器,一旦網(wǎng)絡(luò)通了,或者是服務(wù)器起來(lái)了,客戶端連接上后,也會(huì)產(chǎn)生一個(gè)這樣
的事件。
2、procedure OnDisConnect(const sHost:WideString);
說(shuō)明:當(dāng)客戶端與服務(wù)器的連接中斷后,會(huì)產(chǎn)生這個(gè)事件。
參數(shù):sHost:服務(wù)器的IP地址或者是域名。
注:如果連接成功后,中途網(wǎng)絡(luò)斷了,或者是錄音服務(wù)程序關(guān)閉,均會(huì)產(chǎn)生該事件,用
戶可以根據(jù)這個(gè)消息來(lái)判斷網(wǎng)絡(luò)連接是否正常。
3、procedure OnCallIn(const sLocalNum: WideString; const sCallInNum: WideString);
說(shuō)明:當(dāng)有電話打入時(shí),OCX控件會(huì)自動(dòng)產(chǎn)生該事件,并傳遞相應(yīng)參數(shù)。
參數(shù):sLocalNum:本地號(hào)碼,即本地振鈴的電話號(hào)碼,此號(hào)碼是在錄音服務(wù)器上設(shè)置好的。
sCallInNum:來(lái)電號(hào)碼,即來(lái)電顯示的號(hào)碼。
注:此事件是在電話的第一次振鈴與第二次振鈴之間產(chǎn)生,且電話必須申請(qǐng)來(lái)電顯示功能。
可以在這個(gè)事件下根據(jù)來(lái)電號(hào)碼查找客戶資料。
4、procedure OnCallOut(const sLocalNum: WideString; const sCallOutNum: WideString);
說(shuō)明:摘機(jī)打出時(shí),每按一個(gè)鍵就會(huì)產(chǎn)生一個(gè)事件,并且傳遞打出的號(hào)碼。
參數(shù):sLocalNum:本地號(hào)碼,即本地振鈴的電話號(hào)碼,此號(hào)碼是在錄音服務(wù)器上設(shè)置好的。
sCallOutNum:撥出去的電話號(hào)碼。
注:可以在這個(gè)事件下查找客戶資料,每接收一次,就可以從數(shù)據(jù)庫(kù)中查找一次客戶資料。
5、procedure OnRecFile(const sLocalNum,sRecFile,sDateTime: WideString; const iIO,iLen:Integer; sRemoteNum:WoidString);
說(shuō)明:當(dāng)打出或者打入電話,本地電話掛機(jī)后,就會(huì)產(chǎn)生這個(gè)事件,并且傳遞錄音文件的名稱。
參數(shù):sLocalNum:本地號(hào)碼,即本地振鈴的電話號(hào)碼,此號(hào)碼是在錄音服務(wù)器上設(shè)置好的。
sRecFile:錄音文件名稱,此名稱包括了文件的目錄與文件名,命名格式為:
“C:\TMNData\20070708\66668888\P-113912-I-0006-1234567890-S.Dat”
|______| |______| |_|____| | |__| |________| |
A B C D E F G H
說(shuō)明:A:表示日期,由8位字符組成,格式是"YYYYMMDD",分別表示年月日;
B:本地號(hào)碼,字符數(shù)量不定,所以建議服務(wù)器端設(shè)置本地號(hào)碼時(shí)不要包含“\”字樣;
C:由2個(gè)字符組成,表示當(dāng)前文件的語(yǔ)音壓縮格式,
"P-"表示2倍壓縮的DIALOGIC ADPCM壓縮格式;
"V-"表示2倍壓縮的IMA ADPCM壓縮格式;
"Q-"表示4倍壓縮的ADPCM格式;
"G-"或者沒(méi)有字符標(biāo)志則表示GSM格式。
D:通話開(kāi)始時(shí)間,由6個(gè)字符組成,格式是"HHNNSS",分別表示時(shí)分秒;
E:通話方向,一個(gè)字符長(zhǎng)度,"O"表示打出,"I"表示打入;
F:通話時(shí)長(zhǎng),由4個(gè)字符組成,時(shí)長(zhǎng)不夠4位的以字符"0"填充,單位是秒;
G:對(duì)方號(hào)碼,長(zhǎng)度不定,視實(shí)際來(lái)電情況為準(zhǔn);
H:誰(shuí)先掛機(jī),"S"本地先掛機(jī),"R"對(duì)方先掛機(jī),此功能只有數(shù)字電話錄音才生效。
sDateTime:錄音開(kāi)始時(shí)間,格式是“YYYY-MM-DD HH:NN:SS”。
iIO:主被叫方向,0表示打出,1表示打入。
iLen:通話時(shí)長(zhǎng),單位秒。
sRemoteNum:對(duì)方號(hào)碼,打入電話表示來(lái)電顯示號(hào)碼,打出號(hào)碼表示撥打的對(duì)方號(hào)碼。
注:收到錄音文件名后,可以保存到數(shù)據(jù)庫(kù)中,便于以后回放用。
如果通話結(jié)束后沒(méi)有產(chǎn)生該事件,請(qǐng)檢測(cè)服務(wù)器的配置,比如錄音時(shí)段限制、通話時(shí)
長(zhǎng)限制等。
6、procedure OnNoAnswer(const sLocalNum:WideString; const sCallID:WideString);
說(shuō)明:當(dāng)有電話打入,且無(wú)人接聽(tīng)的情況,即未接來(lái)電信息。
參數(shù):sLocalNum:本地號(hào)碼。
sCallID:未接來(lái)電號(hào)碼。
注:此來(lái)電號(hào)碼在OnCallIn事件中也會(huì)發(fā)送過(guò)來(lái),但是不同的是,只有當(dāng)來(lái)電無(wú)人接聽(tīng)時(shí)
才會(huì)產(chǎn)生OnNoAnswer事件。
7、Procedure OnFilePlayEnd;
說(shuō)明:當(dāng)文件播放結(jié)束后,會(huì)產(chǎn)生此消息。
參數(shù):無(wú)
8、Procedure OnHookOff(const sLocalNum:WidString; const sTime:WideString);
說(shuō)明:本地電話摘機(jī)時(shí),會(huì)產(chǎn)生此消息。
參數(shù):sLocalNum:本地號(hào)碼。
sTime:摘機(jī)的時(shí)間,格式是“YYYY-MM-DD HH:NN:SS”。
9、Procedure OnHookOn(const sLocalNum:WidString; const sTime:WideString);
說(shuō)明:本地電話掛機(jī)時(shí),會(huì)產(chǎn)生此消息。
參數(shù):sLocalNum:本地號(hào)碼。
sTime:掛機(jī)的時(shí)間,格式是“YYYY-MM-DD HH:NN:SS”。
10、Procedure OnRing(const sLocalNum:WidString; const sTime:WideString);
說(shuō)明:當(dāng)有電話打入,本地電話振鈴時(shí),會(huì)產(chǎn)生此消息,只有第一次振鈴才會(huì)產(chǎn)生一個(gè)這樣的消息。
參數(shù):sLocalNum:本地號(hào)碼。
sTime:振鈴的時(shí)間,格式是“YYYY-MM-DD HH:NN:SS”。
注:根據(jù)此函數(shù),可以記錄電話在摘機(jī)接聽(tīng)前的振鈴等待時(shí)間長(zhǎng)度??梢栽O(shè)置一個(gè)變量用來(lái)存儲(chǔ)第一次
振鈴的時(shí)間,如果電話已經(jīng)接聽(tīng),可以根據(jù)OnHookOff事件的時(shí)間計(jì)算出接聽(tīng)前等待時(shí)長(zhǎng);如果電話
未接聽(tīng),可以根據(jù)OnNoAnswer事件產(chǎn)生的時(shí)間來(lái)計(jì)算未接電話振鈴時(shí)長(zhǎng)。
11、Procedur OnPlayClick(var sHost:WidString; var sFile: WideString);
說(shuō)明:當(dāng)點(diǎn)擊控件上的播放按鈕(三角形的按鈕),會(huì)產(chǎn)生此事件,目的是方便用戶自己指定需要播放的
錄音文件。在未連接上服務(wù)器時(shí),也可以通過(guò)此事件來(lái)播放。比如可以在這個(gè)事件里面去用戶的
數(shù)據(jù)庫(kù)里面查找需要的信息,然后付給sHost與sFile就可以了。
參數(shù):sHost:字符型變量,用來(lái)指定需要播放的文件存在的服務(wù)器,可以是IP地址,也可以是域名;
sFile:服務(wù)器上的錄音文件,包括全路進(jìn)與文件名。
?? 快捷鍵說(shuō)明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -