开发原码(JavaScript):

<HTML> <TITLE>JDComPort JavaScript Sample</TITLE> <HEAD><object classid="clsid:C4751F74-C039-4272-8532-11F7ACBAD184" name="JDComPort1"Width="32"height="32" > </object><script language="JavaScript">//函数与方法function AddInfo(sInf) {document.getElementById("mbox").value = "/r" +sInf +document.getElementById("mbox").value; }function Open() {JDComPort1.Open(); }function Close() {JDComPort1.Close(); }function SetState() {JDComPort1.SetSate(); }function SetupPorts() {JDComPort1.SetupPorts(); }function ClearmBox() {document.getElementById("mbox").value = ""; }//事件与消息//按键事件 function OnKeyPress(key,devid) {document.getElementById("Key_Dev").value =devid+ ":"+key;AddInfo(devid+":"+key); }//来电事件 function OnRead(s,t,devid,wavefile) {document.getElementById("CallerID").value =devid+ ":"+ s +" "+ wavefile;AddInfo(devid+ ":"+ s +" "+ wavefile); } function OnOpen() {AddInfo("Open"); }function OnClose() {AddInfo("Close"); } </script><script language="JavaScript">JDComPort1.attachEvent("OnClose",OnClose); JDComPort1.attachEvent("OnKeyPress",OnKeyPress); JDComPort1.attachEvent("OnRead",OnRead); JDComPort1.attachEvent("OnOpen",OnOpen); </script></HEAD><BODY><center><FORM ACTION="#" NAME="forms"><table width="100%" border="1" cellpadding="0" cellspacing="0" onload height="330"><tr> <td width="9%" height="30"><center><h3>JDComPort.OCX 控件来电实例 </h3></center></td></tr><tr> <td width="9%" height="30"><center>来电<INPUT TYPE=text SIZE=52 NAME="CallerID" >按键<INPUT TYPE=text SIZE=10 NAME="Key_Dev"></center></td></tr><tr> <td width="9%" height="30"><center>消息窗口<br><textarea name="mbox" cols="80" rows="10"></textarea></center></td></tr><tr><td width="9%" height="30"><center><INPUT TYPE=button VALUE="系统设置" ONCLICK="SetState()" NAME="Button1"><INPUT TYPE=button VALUE="查找设备" ONCLICK="SetupPorts()" NAME="Button4"><INPUT TYPE=button VALUE="打开设备" ONCLICK="Open()" NAME="OpenDev"><INPUT TYPE=button VALUE="关闭设备" ONCLICK="Close()" NAME="Button11"><INPUT TYPE=button VALUE="清除显示" ONCLICK="ClearmBox()" NAME="MsClear"></center></td></tr></table></FORM></center> </BODY> </HTML>

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

下载控件包: JDComPort.rar

注册控件

1  将文件 JDComPort.ocx qtintf.dll  复制到Windows的system32目录

2、OCX控件的手动注册办法:在运行窗口运行 RegSvr32 JDComPort.ocx
   如果不把文件JDComPort.ocx qtintf.dll复制到 system32目录也可以这样注册
   在运行窗口运行 RegSvr32  "Path/JDComPort.ocx"
      其中Path是文件JDComPort.ocx qtintf.dll所在的文件夹

使用前的准备
    如果是USB接口的设备请确保驱动程序已经安装,如果你没有驱动程序,可以用一下链接下载:
    http://www.kosen.com.cn/download/drivers/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

四、事件与消息

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条线
    注:事件主要用于实时监听和用作语音网关

注意:本控件需要高深商公司的"记得"系电脑来电管理器,它适用JD-2000全系列的设备。

让你的网页自动显示电话来电号码并录音---免费下载来电显示ActiveX控件(OCX)相关推荐

  1. 创建可在网页下载安装的ActiveX控件(通过Setup.exe安装)

    为完成网页自动下载并安装控件的功能,需要通过C#创建一个ActiveX控件,然后将该控件置于安装程序中,在打开网页的时候下载.安装并注册该ActiveX控件.本文是采用VS2005创建的,VS2003 ...

  2. ActiveX控件打包成Cab置于网页中自动下载安装

    From: http://www.iteye.com/topic/110834 makeCAB.rar (188.5 KB) [背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX ...

  3. ActiveX控件打包成Cab置于网页中自动下载安装 (收藏未实践测试)

    from http://blog.csdn.net/htqlhy/article/details/7937897?locationNum=12 [背景]         做过ActiveX控件的朋友都 ...

  4. ActiveX控件打包成Cab置于网页中自动下载安装(转载)

    原文出自http://www.iteye.com/topic/110834 [背景] 做过ActiveX控件的朋友都知道,要想把自己做的ActiveX控件功能放在自己的网页上使用,那么用户在客户端就必 ...

  5. 使用ActiveX控件开发网页常见的问题

    1. 什么是ActiveX 控件? Microsoft® ActiveX™ 控件是由软件提供商开发的可重用的软件组件.使用 ActiveX控件,可以很快地在网址.台式应用程序.以及开发工具中加入特殊的 ...

  6. 为什么修改了ie级别里的activex控件为启用后,还是无法下载,显示还是ie级别设置太高?

    如果下载插件时下载不了,这样设置,打开IE选工具/Internet 选项/安全/自定义级别/设置中的ActiveX控件自动提示"禁用". 对标记为可安全执行脚本ActiveX控件执 ...

  7. html 自动加载activex控件,管理加载项未显示加载控件

    已安装控件,但是在"管理加载项"中"所有加载项"中就是这个: 已安装的控件只有在网页调用此控件时才会在加载项里出现 IE加载项没有禁用Flash Player为 ...

  8. 怎样不显示限制网页运行可访问计算机的脚本和active控件,Internet Explorer已限制此网页运行脚本或ActiveX控件...

    Internet Explorer已限制此网页运行脚本或ActiveX控件是控件安装错误造成的,解决方法为: 1.先关闭 Internet Explorer 浏览器,然后从开始菜单中找到 Intern ...

  9. 在HTML网页中使用ActiveX控件

    From: http://blog.163.com/haizai219@126/blog/static/4441255520097264447968/ 1. 摘要: 在企业应用中,为了实现一些特殊的功 ...

最新文章

  1. 计算机高校应用现状的参考文献,【计算机应用论文】高校计算机实验室管理思考探索(共4094字)...
  2. MPI编程及性能优化
  3. JZOJ 3731. 【NOIP2014模拟7.10】庐州月
  4. 【视频】vue单文件组件vue-cli
  5. 第三章 Joomla!扩展开发:后端开发
  6. 如何让char不要忽略开头的空格_如何使用C语言实现JSON解析库(二)
  7. Web应用中优化IBatis性能
  8. 【学术杂谈】施一公:论文和科技实力是两回事,大家千万要分开
  9. jetbrains mono字体安装方法(LInux Windows MacOS系统)
  10. pgAdmin4的备份和还原数据
  11. python-微信公众个性二维码生成-生成自己名片二维码-链接二维码【超酷】
  12. 数字图像处理 调色板图像
  13. 【蓝桥杯】单片机教程
  14. 查看树莓派openwrt路由器 CPU 架构
  15. 数组数据通过sql语句转为数据库表衔接到from或join后进行直接或关联查询
  16. 【新手上路常见问答】关于自然语言处理(NLP)
  17. 惠普800g1支持什么内存_做工精够迷你 惠普EliteDesk800G1评测
  18. Oracle数据库综合试题
  19. gcc 内联汇编用法介绍
  20. CEO、COO、CFO、CTO是什么意思?

热门文章

  1. 为什么模拟集成电路设计中会使用那么多的电流源?
  2. Voronoi图与路径规划
  3. 【Ubuntu】APT下载工具
  4. echarts地图上的标签为图片_ECharts中地图的使用
  5. 物联网区块链有望成新一轮颠覆性技术
  6. bzoj 4455 [Zjoi2016]小星星 树形dp容斥
  7. 大地电磁正演程序MT2D主程序分析
  8. 轻量、功能强大的代理服务器工具
  9. acm竞赛中tle的原因 2021-3-9
  10. 点阵LCD12864的显示原理(不带字库)