广州高深商电子技术有限公司 用户登录
用户注册 ......
首页 公告 收款机 抽奖机 来电管理 数据采集 台球灯控 软件开发 综合 会员下载 发货查询
公司首页
当前位置:首页>> 来电管理>> 二次开发 >>正文
开发来电管理器的动态连接库
gao在2007/10/24发表,被浏览9761
    为了减轻二次开发人员的开发时间,提高效率,我们对编程要求比较高的底层接口、通信协议、串口、USB接口等的操作进行了整理、封装,推出便于大家理解和使用的DLL文件。

   点击下载调用动态库:JD2000Dll.zip

    在JD2000DLL.Dll动态连接库中提供了以下函数供大家使用。
        OpenDevice    打开设备
      Closedev     关闭设备
      SetReadNo       设置来电中断的程序入口
      SetKeyPress    设置电话按键、振铃、摘机、挂机中断的程序入口
      SetPort      设置来电设备的端口
        SetWavein       设置语音数据产生时的程序入口
        FindJDDevs      查找设备,看设备安装在哪个端口
        LineStatus      检测电话线状态(挂机或摘机状态) 建议用LineStatusChanl替代
        Dialup2100      旧款2100的拨号命令
        DialupChanl     电话拨号命令,在指定的线路上拨号
        LineStatusChanl 检测某一电话线状态(挂机或摘机状态)
        StartWaveIn     开始指定线路的录音
        StopWaveIn      停止指定线路的录音
        SetHandup       模拟指定线路摘机或挂机
        PlayWavData     在指定线路播放语音
        PlayWavAbort    在指定线路终止正在播放语音
        PortSet         设定设备的通讯端口
        BaudrateSet     设定设备的COM口波特率
        PortGet         获取设备的通讯端口名称
        BaudrateGet     获取设设备的COM口波特率
        ReadFactryID    读取设备的厂商ID
        ReadDevID       读取设备号
        ReadDevVer      读取设备的软件版本号
        ReadDevModel    读取设备型号
      


以下是有关各函数的详细说明:

  function OpenDevice(): Integer
    //功能:  打开设备
    //参数:  无
    //返回:  整数 0--成功   其它失败
    //说明:  要使用JD-2000,就必须打开设备,只有设备打开就后才可以进行其它的操作;打开设备时所用的端口时是上次设定的端口,端口的类型保存在应用程序所在文件夹的文件JD2000S.INI中,如下描述,端口为 COM1  波特率为 460800bps
      [objState]
      Port=COM3
      BaudRate=0
      (BaudRate= 7 或 没有此行  波特率=9600;  =13 波特率=115200  =0  波特率=460800)

  function Closedev(): Integer
    //功能:  关闭设备
    //参数:  无
    //返回:  整数 0--成功   其它失败
    //说明:  在结束程序前应关闭设备

  function SetReadNo(Addressf: Pointer Of function ): Integer
    //功能:  设置来电中断的程序入口
    //参数:  Addressf: 来电中断程序的入口地址
    //返回:  整数 0--成功   其它失败
    //说明:  来电中断程序是这样的一个过程(以下是DELPHI格式的声明,其它的声明方法在各自的示例中)

  procedure TelReadNo(Telno: PChar;time: PChar; DevID: PChar)
    //Telno: 来电号码,字符串型
    //Time:  来电时间,字符串型 格式为 yyyy-mm-dd HH:MM(年)-月-日) 时):分)
    //DevID: 设备号,  字符串型 发生来电的设备(电话线号)

    //在你的程序中先定义一个上面的过程,通过SetReadNo函数把入口地址传给DLL,就跟你在程序中的事件代码一样,当有来电发生时DLL会自动调用这段程序。实现DLL与你应用程序的连接。

  function SetKeyPress(Addressf: Pointer Of function ): Integer
    //功能:  设置去电中断的程序入口
    //参数:  Addressf: 去电中断程序的入口地址
    //返回:  整数 0--成功   其它失败
    //说明:  去电中断程序是这样的一个过程(以下是DELPHI格式的声明,其它的声明方法在各自的示例中)

  procedure TelKeyPress(Key: PChar; DevID: PChar)
    //Key:   去电按键,字符串型
    //DevID: 设备号,  字符串型 发生按键的设备(电话线号)

    //在你的程序中先定义一个上面的过程,通过SetKeyPress函数把入口地址传给DLL,就跟你在程序中的事件代码一样,当有设备发生按键时DLL会自动调用这段程序。实现DLL与你应用程序的连接。
    //注意:不是所有的来电管理器都有去电检测功能。具体的型号请于供应商联系。或直接向高深商公司联系。

  function  SetWavein(Addressf: Pointer Of function):Integer; stdcall; external JD2000DLLFILE;
    //功能  设定录音数据产生时的中断服务程序入口
    //参数:  Addressf: 录音数据产生时中断程序的入口地址
    //返回:  整数 0--成功   其它失败
    //说明:  录音数据产生中断程序是这样的一个过程(以下是DELPHI格式的声明,其它的声明方法在各自的示例中)

  procedure TelWavein(wavestring: PChar; Size: Integer; DevID: PChar);
    //wavestring:   语音的采样数据 数据的格式如下
    //       单通道 PCM编码  8位数据  采样率:8000/s
    //Size:  返回数据的长度
    //DevID: 来电的线路号
    //有语音数据返回时要运行的过程原型

    //在你的程序中先定义一个上面的过程,通过SetWavein函数把入口地址传给DLL,就跟你在程序中的事件代码一样,当有设备发生按键时DLL会自动调用这段程序。实现DLL与你应用程序的连接。
    //注意:只有带录音功能的来电管理器才会在录音时产生事件。具体的型号请与供应商联系。或直接向高深商公司联系。



  function SetPort(): Boolean
    //功能:  设置设备于电脑连接的端口
    //参数:  无
    //返回:  布尔 True--成功   False 失败

    //说明:  如果设置成功,端口的类型保存在应用程序所在文件夹的文件JD2000S.INI中,下次打开时会按你设定的端口类型打开,在JD2000S.INI中有关端口描述如下
    [objState]
    Port=COM1



  function FindJDDevs(Ports: PChar): Boolean;
     //功能  查找来电管理设备所连接的端口
     //返回  是否成功 True成功 False失败
     //如果成功 连接设备的端口名称会列在Ports中
     //Ports 至少要有256字节长度

  function LineStatus: Integer;
     //功能  检测电话线路是否有拨号音
     //返回  0有拨号音 其它没有拨号音
     //注意  本函数仅对JD-2100型的设备有效
     //      调用本函数需要1秒钟才有返回

  function Dialup2100(TelNo: PChar): Integer;
     //功能  拨出电话号码 号码保存在TelNo
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2100型的设备有效

  function LineStatusChanl(Chanl: Integer): Integer;
     //参数  Chanl 线路号 取值范围:0,1,2,3
     //功能  检测电话线路是否有拨号音
     //返回  0有拨号音 其它没有拨号音
     //注意  本函数仅对JD-2100型的设备有效

  function DialupChanl(TelNo: PChar; Chanl: Integer): Integer;
     //参数   TelNo  拨出电话号码
     //       Chanl 线路号 取值范围:0,1,2,3
     //功能  拨出电话号码 号码保存在TelNo
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2102, JD-2102型的设备有效


  function SetHandup(ishandup:Integer; Chanl: Integer): Integer;
     //功能  模拟电话摘机或挂机
     //参数  ishandup  摘机或挂机   0--挂机   1--摘机
     //      Chanl 线路号 取值范围:0,1,2,3
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2102, JD-2102型的设备有效
     //      摘机后10秒,设备将自动挂机,如要保持在摘机状态,
     //      必须在10秒内再发送一次本命令,每发一次可保持10秒

  function StartWaveIn(Chanl: Integer): Integer;stdcall;
     //功能  开始录音
     //参数  Chanl 线路号 取值范围:0,1,2,3
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2301, JD-2304型的设备有效
     //      在挂机情况下无语音数据返回

  function StopWaveIn(Chanl: Integer): Integer;
     //功能  停止录音
     //参数  Chanl 线路号 取值范围:0,1,2,3
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2301, JD-2304型的设备有效
     //      在挂机情况下无语音数据返回

  function  SetWavein(pp: TDevOnWaveIn):Integer;
     //功能  设定录音数据产生时的中断服务程序入口
     //无返回

  function PlayWavData(wavedata:Pointer;Size: Integer; Chanl: Integer): Integer;
     //功能  开始播音音
     //参数  wavedata 要播音的数据放在 wavedata所指向的缓冲区 大小为 Size
     //      Chanl 线路号 取值范围:0,1,2,3
     //返回  成功返回 0 其它 失败
     //注意  本函数仅对JD-2301, JD-2304型的设备有效
     //      在挂机情况下播音音数据不会被播出

  function PlayWavAbort(Chanl: Integer): Integer;
     //功能  停止播音
     //参数  Chanl 线路号 取值范围:0,1,2,3
     //返回  成功返回 0 其它 失败


  function  PortSet(ports: PChar):Boolean;
     //功能  设置设备的通信端口
     //参数  ports :字符串 设备接在PC的端口名称 如"COM1" "COM2"  "COM3"  "HID" ....等
     //返回  布尔型:成功返回 True   失败 False

  function  BaudrateSet(br:Integer):Boolean;
     //功能  设置串口设备的通信波特率
     //参数  br :整数 br的有效值只有3个 9600,115200,和460800, 其它数字无效。
             本函数仅对串口或虚拟串口的设备有效。
             在闪绿等的产品中,本参数无效。
     //返回  布尔型:成功返回 True   失败 False

  function  PortGet:PChar;
     //功能  获取设备的通信端口设置
     //参数  无
     //返回  字符串:成功  返回设备的端口名称如"COM1" "COM2"  "COM3"  "HID" ....等
     //              失败  返回空串

  function  BaudrateGet:Integer; stdcall;
     //功能  获取设备的通信端口波特率
     //参数  无
     //返回  整数:成功  通信端口波特率 数值是3个中的一个 9600,115200,和460800
     //            失败  -1


  function ReadFactryID: PChar;
     //功能  获取设备的厂商ID
     //参数  无
     //返回  字符串:成功  返回设备厂商ID 默认值为 "KOSEN CO.TD"
     //              失败  返回空串

  function ReadDevID: Integer ;
     //功能  获取设备号
     //参数  无
     //返回  数值:0-255 默认值 255

  function ReadDevVer: PChar;
     //功能  获取设备的软件版本号
     //参数  无
     //返回  字符串:如 "V20.11"
            
  function ReadDevModel: PChar;
     //功能  获取设备的型号
     //参数  无
     //返回  字符串:如成功返回字符串 "MODEL=JD-2000"  否则返回空串。


下载调用动态库的DELPHI示例: JDDllpas.rar

下载调用动态库的VB示例:JDDllvb.rar

下载调用动态库的C++Builder示例:JDDllcb.rar
【相关文章】
开发来电管理器的动态连接库
【同类文章】
高深商GSM无线固话盒OC…
WIFI接口来电显示管理器…
新一代USB转COM口来电…
来电管理器故障排除的方法
在WIN7或Win8中注册…
计算机收发短信的OCX控件…
使用Java开发来电显示管…
开发来电显示及录音程序的C…
C#来电显示管理器开发示例…
使用C#的Socket开发…

广州高深商电子技术有限公司

地址:天河北路908号、高科大厦B座2704
电话:020-38259081、38258857
电子邮箱:gaoykosen@foxmail.com