廣州高深商電子技術有限公司 用戶登錄
用戶注冊 ......
首頁 公告 收款機 抽獎機 來電管理 數據采集 臺球燈控 軟件開發 綜合 會員下載 發貨查詢
幸运农场官方网站
當前位置:首頁>> 來電管理>> 二次開發 >>正文
來電管理設備的ActiveX控件(OCX)開發文檔
pgr在2017-7-3發表,被瀏覽12267 此文章共有 2 1 2
前述
    本控件是專門為高深商公司的"記得"系電腦來電管理器而設計,它適用JD-2000全系列的設備包括
    來電顯示產品 JD-2000U  JD-2000C   JD-2002U  JD-2002C  JD-2004U  JD-2004C
    電話回撥產品 JD-2100U  JD-2100C   JD-2102U  JD-2102C  JD-2104U  JD-2104C
    電話錄音產品 JD-2300U  JD-2300C   JD-2302U  JD-2304U
    錄音回撥產品 JD-2500U  JD-2500C   JD-2502U  JD-2504U
    電話語音產品 JD-2600U  JD-2600C   JD-2602U  JD-2604U

    使用本控件你可以避免與硬件設備打交道,在你的應用系統中只要寥寥數行的代碼即可將有關來電彈屏、自動撥號、電話錄音、自動語音應答、黑名單的功能集成到你的系統里。


控件的名稱            
   JDComPort.ocx
   需要的文件 qtintf.dll

下載控件包: JDComPort.rar

注冊控件

在Win7 和Win8,win10中 注冊OCX控件的關鍵是要以管理員身份進行操作,具體的方法如下:

1、將OCX文件存復制到Windows目錄  
   在64位系統下是:C:\Windows\Syswow64
   在32位系統下是:C:\Windows\System32

2、注冊:“運行”對話框中輸入引號內命令: RegSvr32 XXX.OCX

3、卸載:“運行”對話框中輸入引號內命令:RegSvr32 XXX.OCX /U"

4、如果注冊時出現對DllRegisterServer的調用失敗,則選擇開始菜單->附件->“命令提示符”->右鍵,選擇“以管理員身份運行”,然后在打開的窗口中,執行RegSvr32 XXX.OCX命令即可。

例如注冊 我們的來電管理控件 JDComport.OCX 時可以用以下的手工方法實現

第一步:
     將文件 JDComport.OCX 和 qtintf.dll (會被JDComport.OCX 用到) 復制到文件夾
      c:\windows\System32 或者64位系統的C:\Windows\Syswow64 目錄

第二步:
    win7:    開始->所有程序->附件->CMD 命令
    win8:    鼠標移到桌面右上角->搜索->CMD 命令->屏幕左上方提示"命令提示符"->鼠標右
             鍵->以管理員身份運行

第三步:
   在DOS命令窗口 進入 c:\windows\System32目錄
   在提示符c:\windows\System32> RegSvr32 JDComport.ocx
   或
   c:\windows\System32> RegSvr32 C:\Windows\Syswow64\JDComport.ocx
   即可完成注冊

使用前的準備
    如果是USB接口的設備請確保驅動程序已經安裝,如果你沒有驅動程序,可以用以下鏈接下載:
綠色指示燈設備驅動USB_To_COM32_DRIVER.zip
紅色指示燈設備驅動USBDRIVE.rar

使用方法

一、OCX控件的GUID:
    GUID={C4751F74-C039-4272-8532-11F7ACBAD184}

二、控件的屬性
1、    port:  widestring

        來電設備與電腦連接的端口 字符串型 如"COM1"、"COM2"、"COM3"、"COM4"、"COM5" ....
3、    baudrate:  

        波特率只3種選擇 br9600, br115200, br460800

    以上2個屬性一般不用設定,在我們的控件里有一個方法查找設備(SetupPorts),可以把連接到電腦的設備找到,而且可以把找到的參數自動保存下來,以后再調用時會自動裝入

3、    connected: Boolean

        設備是否打開 如果打開返回 True  否則 False
        本屬性是只讀的


三、函數與方法:
1、 procedure Open
  
    作用:打開設備
    說明:此函數是其他函數與方法調用的前提,用來打開與電腦連接的設備,只有在設備被打開后才可以進行其他的操作。
    參數:無
    
    其它關聯事項:判斷一個設備是否打開可以用屬性 connected 如果為TRUE則已經打開;多次打開不影響設備的相關操作。
  

2、procedure Close

    作用:關閉設備
    說明:用來斷開電腦與設備的連接。在退出程序前應關閉設備
    參數:無。

3、function SetupPorts: WideString;

    說明:查找設備,查找與電腦連接的設備
    參數:無
    返回值:取消查找或找不到設備返回空串。找到設備"Ports=AAAA    BaudRate=BBBB"
      其中AAAA是串口的列表 如COM2,COM4 它們之間用逗號分開
          BBBB是串口的波特率代號 如7,13,它們之間用逗號分開(7=br9600  13=br115200 0=不如60800)
  
    注:找到設備時 AAAA 與 BBBB會被自動保存到與應用程序同名的ini文件中,在下次被調用時自動調入。

4、procedure SetSate;

    說明:用來設定系統狀態字
    參數:無
    返回值:無
    注:狀態字被自動保存到與應用程序同名的ini文件中,在下次被調用時自動調入。


5、function StartWaveIn(chanl: Integer; const WaveFile: WideString): WideString;

    說明:強制錄音開始
    參數:chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
          WaveFile:錄音文件的文件名,如果文件名是個空字符串,則系統會自動生成文件名,如果是合法的文件名,則系統會以給出的文件名生產錄音文件

    返回值:實際的錄音文件名。如果文件名是空的則表示不能進行錄音。如果已經開始錄音了則返回實際的錄音文件名。
    注:在一般情況下,不用調用本函數。在默認的情況下,控件會進行自動錄音如果是打進的電話,摘機后1秒開始自動錄音。打出的電話在播出3個電話號碼后的6秒開始錄音,在錄音開始時會有事件發生。
    在未摘機的情況下,本函數失效。
    本函數適用 JD-230X JD-250X JD-260X 系列產品


6、procedure StopWaveIn(chanl: Integer);

    說明:停止通道chanl的錄音
    參數:chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3

7、procedure SetHandUp(isHandup: Integer; chanl: Integer);

    說明:設定通道chanl摘機或掛機
    參數:isHandup: 摘機或掛機 1--摘機   0--掛機
          chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    注:本過程只適用于JD-250X和JD-260X系列的產品

8、procedure PlayWaveFile(WaveFile: WideString; chanl: Integer);

    說明:在指定通道按文件播放語音
    參數:WaveFile: 錄音文件 數據格式為 8位數據 1通道 采樣率4800/秒
          chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    注:本過程只JD-260X系列的產品


9、procedure PlayWaveByte(wavebyte: Smallint; chanl: Integer);

    說明:在指定通道按字節播放語音
    參數:wavebyte: 語音的采樣值 數據格式為 8位數據 1通道 采樣率4800/秒
          chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    注:本過程只JD-260X系列的產品

10、procedure PlayWaveData(WData: OleVariant; chanl: Integer);

    說明:在指定通道按字節流播放語音
    參數:WData: 語音的采樣流 數據格式為 8位數據 1通道 采樣率4800/秒
          chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    注:本過程只JD-260X系列的產品

11、procedure playWaveabort(chanl: Integer);

    說明:在指定通道停止播放語音數據
    參數:chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    注:本過程只JD-260X系列的產品

12、function ReadFactryID: WideString;

    說明:  讀取設備生產廠商的ID
    返回值:廠商的ID

13、function ReadDevID: Integer;

    說明:  讀取來電管理設備的設備號
    返回值:設備號

14、function ReadDevVer: WideString;

    說明:  讀取來電管理設備的型號和軟件版本
    返回值:設備的型號和軟件版本

15、function LineStatus(chanl: Integer): Integer;

    說明:  通道的線路狀態
    參數:chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于雙口設備chanl的值有    0 、1、2、3
    返回值:線路狀態  0--摘機  255--掛機


16、function DialupChanl(const TeleNo: WideString; chanl: Integer): Integer;

    說明:回撥電話
    參數:TeleNo:電話號碼
         chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于四口設備chanl的值有    0 、1、2、3
    返回值:沒有意義
    注:電話號碼的長度不要超過16個字節,超過16字節的建議一個一個地撥號,2個號碼之間的延時要大于200ms

    對于要撥“0” 或 “9”才能撥外線的用戶,可以先調用本命令撥“0” 等待一段時間后再撥后面要撥出的號碼。
    如在通道0 撥 0,38259081 可以使用以下過程
       1、 DialupChanl('0',0)
       2、 延時 (不能超過10秒,否則在此期間要發出摘機命令)
       3、 DialupChanl('38259081',0)

17、function WavePath: WideString;

    說明:保存錄音文件的路徑
    參數:無
    要設定本參數可以在SetSate中設定 或在JD2000OCX.INI中直接修改


18、function SelectDev(const Devid: WideString): Integer;

    說明:選擇當前設備
    參數:Devid:設備所在的端口 如"COM1"  "COM2" ..."COM8"
    返回值: -1 指定端口的設備不存在。
            0  指定端口的設備存在,并將當前設備設為指定端口的設備,對設備的操作為對這個設備的操作。
    本函數用于一臺電腦接有多個來電管理器的情形。


19、function CurDev: WideString;

    說明:返回當前設備
    參數:無
    返回值: 當前設備的端口 如 COM1 或 COM5等

20、function PlayingWave(chanl: Integer): WordBool;

    說明:指定通道是否正在播音
    參數:chanl:通道號 通道1-4 的chanl值為0-3,
          對于單口設備chanl的值永遠是0
          對于雙口設備chanl的值只有  0 、1
          對于四口設備chanl的值有    0 、1、2、3
    返回值: 當前通道是否正在播音 TRUE--正在播音 FALSE--不播音

四、事件與消息


1、 procedure OnRead(const s: WideString; t: Double; const devid: WideString; const WaveFile: WideString)

    說明:當有來電顯示或開始錄音時,會產生這個事件。
    參數:   s: 來電或撥出的電話號碼
             t: 發送來電或開始錄音的時間 實際是個Date數據類型
         devid:設備號每一條線路對應一個設備號如"2-1"和"1-1"分別表示COM2口的第1條線和COM1口的第1條線
      WaveFile:錄音文件的文件名,如果你不進行錄音或你的設備沒有錄音功能的,可以忽略本參數

2、 procedure OnKeyPress(const key: WideString; const devid: WideString);

    說明:當檢測到有DTMF按鍵(電話按鍵)、電話振鈴、摘機或掛機時,會產生這個事件。
    參數:   key: 電話按鍵或電話振鈴、摘機或掛機
                  key="R"、"T"、"H" 分表代表電話振鈴、摘機和掛機
                  key="0"、"1"、"2"、"3"...."9"、"*"、"#" 分表代表電話機的對應按鍵被按下
         devid:設備號每一條線路對應一個設備號如"2-1"和"1-1"分別表示COM2口的第1條線和COM1口的第1條線

3、 procedure OnOpen;
    
    一次成功的Open過程會觸發一次OnOpen事件

4、 procedure OnClose;

    一次成功的Close過程會觸發一次OnClose事件


5、 procedure OnWaveIn(wavestring: OleVariant; Count: Integer; const devid: WideString);

    說明:當有錄音數據被獲取時,會產生這個事件。
    參數:wavestring:
                錄音數據,是Byte數組;8位數據 1通道 采樣率4800/秒
         Count: 數據的長度以Byte計
         devid:設備號每一條線路對應一個設備號如"2-1"和"1-1"分別表示COM2口的第1條線和COM1口的第1條線
    注:事件主要用于實時監聽和用作語音網關

6、 procedure OnStartRecord(const devid, FileNam
發表評論 評論人 評論共 6 條  查看完整內容 發表時間
6 樓    gaoy ifast:
    上班時間(周一至周五9:30--18:00)與我們直接聯系,其它時間可以給我們留言(QQ、電子郵件、在線交流、留言板、短信),并留下您的聯系方式。謝謝!
2013-1-17
5 樓    ifast 我想買一款你們的這廣設備,我是個人,不是公司。我怎么買? 2013-1-15
4 樓    。。。 來電顯示掛上去留下網絡地址 2011-1-6
3 樓    。。。 把產品什么掛個買賣網站上我馬上買
也方便大家
2011-1-6
2 樓    gaoy 我們的產品是2004年就有了,用ActiveX控件是2008年才開始的 2010-10-22
1 樓    莫言道 請問你們的產品是什么時候開發出來的? 2010-10-19

幸运农场官方网站

地址:天河北路908號、高科大廈B座2704
電話:020-38259081、38258857
電子郵箱:[email protected]