《润普专业电话录音系统、电话录音卡使用说明书和开发手册.docx》由会员分享,可在线阅读,更多相关《润普专业电话录音系统、电话录音卡使用说明书和开发手册.docx(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 录音软件使用说明和 开发手册2023 年 5 月 1 日使用说明名目系统简介2一、根本功能2二、技术参数4三、典型行业客户列表4系统安装6一、硬件安装61.1 微机61.2 应用环境61.3 硬件构造、安装7二、软件安装7软件操作9一、系统启动9二、根本操作102.1 主窗口说明102.2 模块功能12编程接口24函数说明25VC 环境29C+Builder 环境30VB 环境31DELPHI 环境33PB 环境35VFP 环境37其他编程语言382第 2 页 共 39 页系统简介RL 系列系列 录音系统,是本公司凭借多年来在语音技术方面的专业阅历, 使用最数字电子技术,辅以现今为止最先进的
2、电脑及 Windows 软件所设计完成的一套整合性系统,它可以同时对多路 通话进展录音、监听和查询。系 统可选读写光盘作为备份,容量大,牢靠性高。RL 系列系列 录音系统可广泛的应用于商业 录音,电力调度录音,热线效劳 录音,投诉 录 音,关键岗位 录音,传呼台录音,金融证券录音,公安报警录音,安全部门 的监听 ,航空、铁路、交通运输调度录音及各行业的生产调度录音。一、根本功能1. 流行的 Windows 98/ME/2023/XP 操作环境。2. USB 接口,符合 USB 1.1 标准,系统为外置式设备,不占用主机资源, 即插即用。3. 从 USB 端口供电,不需外接电源。4. 可热插拔。
3、5. 容量(线数)随便调整。用户可依据需要接入多个 USB 录音设备。可通过 USB接口卡随便扩展。6. 支持中文、繁体、英文等各种字体的操作系统。7. 录音对通话双方没有任何影响。8. 可以依据任意给定的条件对录音、备份资料进展快速、简洁的回放查听。9. 多个用户可以在多台电脑使用声卡对录音资料依据任意给定条件进展回放查听与备份。10. 系统具有自动同步双备份功能。也可以通过系统手工备份到您想要保存的名目或磁带转录。11. 可以完整的检测并记录全部外拨 号码与来电显示号码。12. 强大的 治理功能,可以对全部的拨入、拨出 进展清单列表、打印、汇总、分组等。13. 系统具有自动增益功能,可以自
4、动调整通话双方的音量,而不至于声音太小。14. 全部谈话内容录为 WINDOWS WAV 格式,可以在任意 WINDOWS 电脑中播放。15. 可以设置多达 6 个盘可以是硬盘、分区或网络映射盘自动循环录音。16. 录音启动方式敏捷,具有压控、键控三种启动方式。17. 录音起始时间可以敏捷设置,可以是一段时间内录音,也可以是每天24 小时录音。18. 线路适用于 外线、分机内线、ISDN 引出的模拟线、无线对讲机的音频输出线等。19. 当系统的硬盘将满时,系统将自动去除最先录音的资料,以保证系统可以常年不连续运行。20. 方向判别。可以判别出呼叫方向,如呼入还是拨出。21. 系统具有 18 种
5、权限,可以满足不同行业的需要。22. 系统具有完整的操作日志,可以记录对系统的全部操作。二、技术参数USB 接口 : USB1.1 标准输入阻抗 : 50 K 欧信噪比 : 典型 50 dB频率响应 : 300-3400 Hz调制方式 : PCM ,64KBPS,每秒 8K 字节通道电流: 50mA功耗:250mW三、典型行业客户列表上海海监局 上海港引航站金鹏期货华中期货美而雅期货苏州公安局兰州军区司令部疆叶合电力 江苏滨海电力 四川达竹煤电 梅山集团系统安装一、硬件安装本录音系统硬件由微机工控机、 录音盒组成。1.1 微机奔腾以上电脑配置即可。1.2 应用环境电脑系统要求带USB接口的IB
6、M PC或与之兼容的台式电脑、笔记本电脑或超小型笔记本电脑、操作系统要求Windows 98 Windows Me Windows 2023 Windows XPUSB主掌握器要求UHCI 通用主掌握器接口OHCI 开放主掌握器接口留意:对于 SIS 7001 USB HOST Cotroller 的主机,录音盒不支持。1.3 硬件构造、安装1. 总体连接示意图如上,最简洁的连接方式通过随机供给的 USB 连接线连接电脑,然后将 线接入任一 插孔即可。2. 单路 RL1/RL2 录音盒的两个 插孔为并联构造,用户使用任一接口均可, 通常方式是:一个连接 线,一个在连接话机,这样即可录音,也可拨
7、打电 话。3. RL4/RL8/RL12/RL16 承受 RJ45 网络插头,每个连接 4 部 。并且来要连接外接电源。二、软件安装1Windows 98/2023/XP下驱动程序的安装方法录音盒承受 USB 接口,支持即插即用。支持热插拔,当您通过 USB 连接线将使用说明录音盒同电脑连接起来后,依据以下步骤安装驱动程序:1) 连接设备或重启动计算机后系统会提示“找到硬件”,消灭“添加硬件”向导,按向导提示完成硬件添加2) 在对话框中点击“下一步”按钮,消灭一带有选择按钮的窗口,选择第一项:“搜寻设备的最驱动程序(推举)。”3) 点击“下一步”按钮,在接下来弹出的窗口中,点击“从磁盘安装”
8、按钮。第 8 页 共 39 页8使用说明4) 插入驱动光盘,点击“确定”按钮5) 在接下来的对话框中,点击“下一步”。6) 系统拷贝文件完成后,点击“完成”。至此,USB 录音盒驱动安装完毕。系统安装正确后,对于 RL1/RL2 录音盒, USB 灯会亮,假设不亮,则系统启动没有成功对于 RL4/RL8/RL16/RL12 录音盒, 安装成功后,在屏幕右下角会有一个箭头提示。RL1/RL2 录音盒上 2 个 LED 灯的含义USB灯: 红色, 灯亮:成功连接到电脑上; 灯闪耀:正在读写数据软件操作一、系统启动进入 WINDOWS 操作系统后,选中录音系统的图标,鼠标双击图标进入录音系统,将消灭
9、录音系统主画面,显示录音通道的当前状态。10第 10 页 共 39 页二、根本操作2.1 主窗口说明主界面二说明:1. 两个图都是录音系统的主界面,他们之间可以自由切换。主界面一为大图标显示,主界面二为列表方式显示,可以即时显示每个通道的状态。2. 主界面的最上方是菜单条,紧接着是快捷按钮。菜单条与快捷按钮可以实现一样的功能,不过快捷按钮更便利些。屏幕中间的大区域为每个通道的状态显示。屏幕的右方与下方为用户与系统的状态显示。3. 当系统主菜单消灭后,录音系统将在后台录音。4. 线路状态图标说明: 断线 空闲 提机 录音5. 音量:屏幕右边的音量调整可以调整放音音量。2.2 模块功能主画面上方有
10、录音系统的功能菜单,通过本菜单可以对录音系统进展全部操作。包括:n 日常操作n 参数设置n 系统n 帮助1. 日常操作1) 登录:用户输入用户名与密码后,可以实现登录,不同的用户可以有不同的权限。默认用户:admin 密码:admin2) 注销:用户完成操作后,可以注销此用户,这样其他用户要操作本系统时必需登录。3) 查听:本功能是录音系统的主要功能,在这里,用户可以完成录音文件的查听、备份、删除、注释、打印等功能。使用说明说明:第 13 页 共 39 页13查询:用户必需先查询出录音文件,然后才可以对文件进展放音,注释, 备份、删除等操作。使用说明 路径:缺省状况下,用户从录音盘中查询录音文
11、件的,假设用户点击查询备份盘,则系统可以从其他盘中查询录音文件。查询备份盘的界面如下: 时间:可以设置查询的开头与完毕时间。缺省为当天。 线路:可以设置需查询的线路,缺省为全部线路。 号码:此号码为用户拨入或拨出的 号码, *代表全部,3303*表示以 3303 开头的全部的 号码。*3303*表示包含 3303 的全部的 号码。 方向:拨入还是拨出。 出局:市话还是长途。 全选:当用户需要编辑某一录音文件时,需要选中某一、某些录音文件。方法为鼠标双击某一行,再次双击则取消选中。当某一行被选中后,该 行第一列将包含符号“+”。用户点击全选按钮后,全部语音文件将被选中。 取消:用户点击全选按钮后
12、,全部语音文件将被取消选中。 标志:全部被选中的栏目第一列包含符号“+”,已经被放音过的栏目第一列将包含符号“$”。 注释:将选中的语音文件加注释。15第 15 页 共 39 页 删除:删除全部选中的语音文件。 备份:将全部选中的语音文件备份到指定的名目中。假设用户要备份到网络名目中,请先将此网络名目映射为驱动盘,对此映射盘进展操作。 打印:依据查询出来的语音文件打印通话清单。 自动连续播放:系统播放文件时将从蓝条行开头自动连续播放到最终一行。 放音增益:中选择自动增益复选框后,放音时通话双方的音量可以到达平衡,不至于使一方的声音太小而无法听到。 音量:调整放音的音量。 放音:在第一块卡的放音
13、通道放音,放音文件为蓝条行对应的语音文件。4) 界面切换切换主界面中各线路状态的显示方式,具体见主界面一与主界面二。2. 参数设置设置系统的核心参数。一般用户不应当有此权限。本局部包括:n 名目设置n 去除策略n 线路设置n 用户设置n 报警设置n 系统设置1) 名目设置 最多设置 6 个名目,每个名目的驱动盘必需不同。 当某一工作名目所在磁盘的剩余空间少于单个磁盘最少剩余录音空间时, 系统会自动查找大于单个磁盘最少剩余录音空间的名目进展录音。2) 去除策略 自动删除:当系统全部工作名目所在磁盘的剩余空间少于单个磁盘最少剩余录音空间时,系统会查找系统工作名目中最早的录音文件予以删除。 当系统开
14、头删除时,会一次性删除设定大小的录音空间。3) 线路设置设置系统各个线路的信息与录音条件、启动方式等。a) 线路信息 号码:选中线路对应的 号码。 使用者:选中线路对应的使用者。 备注:线路说明。 出局号码:长途 的出局判别名码。b) 录音参数 允许该线路录音:设置本线路是否录音。 最短时间:当录音长度少于某个值时,并不保存此录音文件。 最长时间:临时未用。使用说明 录音时段:可以设置 24 小时录音,也可以设置在某一时段才录音。c) 启动方式 压控:依据 线上的电压变化启动录音。也就是提机就录音,挂机就停顿录音。大多数承受此种方式来录音。 基电压:一般在 20 左右。 键控:依据用户的按键来
15、启动与停顿录音 声控:依据线上的声音来启动录音。有声音开头录音,无声音时停顿录音。第 18 页 共 39 页18使用说明d) 主叫号识别 是否支持主叫号识别功能。 识别方式:两种方式,一般模拟线路承受 FSK 方式。4) 用户设置 用户与密码的最大长度为 20 位。 共有 15 种权限可以设置 点击左侧的用户列表,右侧屏幕即可显示出该用户的相应权限。 增加用户:按下增按钮,输入用户名,修改该用户的权限。 删除用户:从列表中选择某一用户,按下删除按钮。第 19 页 共 39 页19使用说明声音设置初始化音量:范围从 0 到 75) 系统设置a) 音控延迟时间:当音控录音时,多长时间没有声音就停顿
16、录音。第 20 页 共 39 页20使用说明b)特别名码 当用户拨打某些特别的 号码时,系统可以不录音。 系统最多可以设置 6 个 号码。c) 自动备份d) 其他 e) 远端 留言与查听第 21 页 共 39 页21使用说明6) 号码治理3. 系统1) 扫瞄日志日志文件中记录了用户所进展的全部操作。22第 22 页 共 39 页2) 汇总统计 对符合某一条件的全部通话依据线路进展汇总。 查询查询条件与查听模块的用法一样。3) 关闭系统4. 帮助本系统供给了全面的系统帮助,使用户可以在最短的时间内把握本软件的使用。编程接口1. 驱动:NT 设备名称:SWIND.SYS适用于 RL1/RL2/CI
17、D1/CID2 NT 位置:C:WINNTSYSTEM32DRIVERSSWIND.SYS NT 设备名称:SWIND16.SYS适用于 RL4/RL8/RL12/RL16 NT 位置:C:WINNTSYSTEM32DRIVERSSWIND16.SYS2. 文件说明:在安装名目下,含有以下的名目和文件:DRIVE驱动程序DLLSWIND.DLL、SWIND16.DLL动态连接库USB 录音盒动态连接库SWIND.LIBSWIND.Hlib 文件H 文件APIBCBAPI 编程接口Borland C+ Builder 下应用 APIVBVisual Basic 下应用 APIVCDELPHIVi
18、sual C+下应用 APIDelPhi 下应用 APIVFPVisual FoxPro 下应用 APIEXAMBCB例如程序Borland C+ Builder 下的 DLL 例如程序VBVCVisual Basic 下的 DLL 例如程序Visual C+下的 DLL 例如程序PBDELPHIVFPPower Builder 下的 DLL 例如程序DelPhi 下的 DLL 例如程序Visual FoxPro 下的 DLL 例如程序DOC说明文档TEST测试程序函数说明。初始化操作的函数函数名称:bool WINAPI SW_Init( )入口参数: 无函数返回: true - 正确返回
19、false - 错误。功能描述: 初始化 USB 录音盒。在程序开头时调用。函数名称:bool WINAPI SW_Free( )入口参数: 无函数返回: true - 正确返回 false - 错误。功能描述: 关闭 USB 录音盒。在程序退出时调用。函数名称:void WINAPI SW_SetType(int DeviceType)入口参数: DeviceType设备类型1 - RL1/RL4/CID1/CID41 线/4 线录音/1/4 线主叫号码盒2 - RL2/CID22 线录音/2 线主叫号码接收设备3 - SW1/SW41 线/4 线 答录终端4 - RL8/RL16/RL12
20、8 线/16 线 录音盒函数返回: 无功能描述: 设置 USB 设备的类型,一般在初始化后调用该函数.。状态函数函数名称:int WINAPI SW_GetCount入口参数: 无函数返回: 系统连接的 USB 录音盒的数量。-1:错误功能描述: 得到 USB 录音盒的数量,在连接多个设备时来区分不同的设备。可依据序列号来推断不同录音盒的设备号,序列号小的相应的设备号为 0函数名称:int WINAPI SW_GetSN(int nIndex)入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0函数返回: 设备序列号。-1:错误功能描述: 得到 USB 录音盒的
21、序列号.。摘挂机检测函数函数名称:int WINAPI SW_ CheckDisconnect (int nIndex)号),系统连接一个设备入口参数:nIndexUSB 录音盒的设备号(线路函数返回:时,为 00-以接上 1-未接上或断线-1 错误。功能描述: 检查 线是否插到设备上或断线指示。函数名称:int WINAPI SW_CheckRing(int nIndex)入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0函数返回: 0-未振铃 1-振铃 -1 错误。功能描述: 振铃检测。函数名称:int WINAPI SW_CheckOffHook(int
22、 nIndex)入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0函数返回: 0-挂机 1-摘机 -1 错误。功能描述: 得到 线路的摘挂机状态。录音函数函数名称:long WINAPI SW_CheckFileRecordEnd (int nIndex)入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0函数返回: 返回未录完的字节数,0-录音完毕。功能描述: 检测文件录音是否完毕,与SW_StartFileRecord 函数协作使用, 完成录音功能。函数名称: int WINAPI SW_StartFileRecord (i
23、nt nIndex, char *FileName, DWORD FileLength)入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0FileName录音文件名称,默认为WAV 文件,可直接通过声卡播放,不需要转换。FileLength文件长度 函数返回: 0 - 正确返回 -1 - 错误。功能描述: 文件录音,默认数据格式为 WAV 文件。PCM、8K 采样、单声道,每秒 8K 字节函数名称:int WINAPI SW_ StopFileRecord(int nIndex)录音盒有 2 秒的录音缓冲区,所以最短的录音时间是 2 秒。入口参数: nInde
24、xUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0函数返回: 0-正确返回 -1 错误。功能描述: 停顿文件录音。说明:由于 USB 录音盒的可移动性和支持热插拔,这样在录音过程中假设拔去 USB 录音盒,此时调用全部的函数会返回-1,报告错误状态, 由于录音文件是 WAV 格式文件,需要正确的文件头才可以播放, 所以,在这种状况下为防止数据丧失,应当调用 SW_ StopFileRecord函数,该函数将正确的文件信息保存到 WAV 文件中,数据就不会丧失。接收来电号码函数函数名称:int WINAPI SW_ReceiveCID(int nIndex, char *lpBuf)
25、入口参数: nIndexUSB 录音盒的设备号(线路号),系统连接一个设备时,为 0lpBuf数据的存放地址函数返回: 返回收到的来电号码的长度 0 没有收到来电号码 -1 - 错误功能描述: 得到来电号码。兼容 FSK 和 DTMF 两种制式,使用本函数,要求用户的 在电信局开通了来电显示功能号码对应关系:0-9 对应字符0-9留意: 该函数有自动去除来电号码的功能,即:假设第一次读到来电号码,下一次调用该函数时将自动把缓冲区清 0。接收 DTMF号码函数函数名称:int WINAPI SW_ReceiveDTMF(int nIndex, char *lpBuf)入口参数: nIndexUS
26、B 录音盒的设备号(线路号),系统连接一个设备时,为 0lpBuf数据的存放地址函数返回: 返回收到的 DTMF 码的长度 0 没有收到DTMF 码 -1 - 错误功能描述: 得到 DTMF 码。包括呼出的 号码和二次输入的 DTMF 号码号码对应关系:0-9 对应字符0-9、*、#、A-D留意: 该函数有自动去除 DTMF 缓冲区的功能,即:假设第一次读到 DTMF号码,下一次调用该函数时将自动把缓冲区清 0。编程建议1. 程序开头调用 SW_Init初始化2. 调用 SW_GetCount函数得到连接数,为 0,没有录音盒连接。3. 在调用录音、DTMF、CID 函数时,假设返回-1,表示
27、发生错误,录音盒具有错误自动恢复功能,用户程序可连续执行;假设屡次返回错误,用户此时可结合 SW_GetCount函数推断录音盒是否已被拔下。做相应处理。4. 退出,调用 SW_FreeVC 环境Visual C+ 接口简介用户可通过静态和动态方式实现对 SWIND.DLL 库的调用,具体使用方法可参看 Visual C+ 的相应文档或参看例如程序。SWIND.H 内容如下:bool WINAPI SW_Init; bool WINAPI SW_Free;void WINAPI SW_SetType(int DeviceType); int WINAPI SW_GetCount;int WIN
28、API SW_GetSN(int nIndex);int WINAPI SW_CheckDisconnect(int nIndex); int WINAPI SW_CheckRing(int nIndex);int WINAPI SW_CheckOffHook(int nIndex);int WINAPI SW_ReceiveDTMF(int nIndex, char *lpBuf); int WINAPI SW_ReceiveCID(int nIndex, char *lpBuf);int WINAPI SW_StartFileRecord(int nIndex, char *FileNam
29、e , DWORD FileLength );int WINAPI SW_StopFileRecord(int nIndex ); long WINAPI SW_CheckFileRecordEnd(int nIndex);Visual C+下的示范程序名目:安装名目VCDIAL.DSW该程序实现摘挂机检测、录放音、接收来电号码、接收 DTMF 号码。C+Builder 环境Borland C+ Builder 接口简介由于 SWIND.DLL 是在 VC 下开发而成,LIB 文件不能直接给 BCB 使用,所以用户需要使用 IMPLIB.EXE 程序从 SWIND.DLL 生成 SWIND.L
30、IB 文件。Borland C+ Builder 中 DLL 的调用在 Borland C+ Builder 中,要调用一个 DLL 函数,可使用动态方式和静态方式,具体使用方法可参看 Borland C+ Builder 的相应文档或参看例如程序。SWIND.H 内容如下: bool WINAPI SW_Init; bool WINAPI SW_Free;void WINAPI SW_SetType(int DeviceType); int WINAPI SW_GetCount;int WINAPI SW_GetSN(int nIndex);int WINAPI SW_CheckDiscon
31、nect(int nIndex); int WINAPI SW_CheckRing(int nIndex);int WINAPI SW_CheckOffHook(int nIndex);int WINAPI SW_ReceiveDTMF(int nIndex, LPBYTE lpBuf); int WINAPI SW_ReceiveCID(int nIndex, LPBYTE lpBuf);int WINAPI SW_StartFileRecord(int nIndex, LPBYTE FileName , DWORD FileLength );int WINAPI SW_StopFileRe
32、cord(int nIndex ); long WINAPI SW_CheckFileRecordEnd(int nIndex);Borland C+ Builder 下的示范程序名目: 安装名目C+BUILDEREXAM.BPR该程序实现摘挂机检测、录放音、接收来电号码、接收 DTMF 号码。VB 环境VB 接口简介在 Visual Basic 6.0 中, 对动态库 SWIND.DLL 的调用是通过 SWIND.bas 来声明的,请参见 SWIND.bas。VB6.0 对动态库的调用在 VB6.0 中,需要首先对 DLL 中的函数进展声明,然后才能对该函数进展调用。关于如何声明 DLL 中
33、的函数,请参考 VB 中的 HELP 文件“DECLARE STATEMENT“。下面,通过举例来说明。当 SWIND.DLL 中有的函数未能包含在 VB 声明文件SWIND.BAS 中时,你可以参考该函数在 C 语言中的声明,自己来声明 VB 下的函数调用。例如:在 SWIND.H 中的函数INT WINAPI SW_CHECKOFFHOOK(INT NINDEX)在 SWIND.BAS 中声明为DECLARE FUNCTION SW_CHECKOFFHOOK LIB “SWIND.DLL“ (BYVAL NINDEX AS INTEGER) AS INTEGER要留意的一点是,全部参数和返
34、回值的字节长度要相等。VB 编程的留意事项由于 VB 是解释型的编程语言,它在设计时有一些不同的动身点,因此,在使用VB 调用 DLL 时,有一些事项应引起留意。假设在 C 语言中某函数的参数为字符串,并且在函数调用完毕后,有内容通过该参数返回,当 VB 使用该函数时,带入的变量必需是已经安排空间的。例如:Dim MsgStr As String * 200 SWIND.BAS 中的声明如下:Declare Function SW_Init Lib “SWIND.dll“ As Integer Declare Function SW_Free Lib “SWIND.dll“ As Intege
35、rDeclare Function SW_SetType Lib “swind.dll“ (ByVal DeviceType As Integer) As IntegerDeclare Function SW_GetCount Lib “SWIND.dll“ As IntegerDeclare Function SW_GetSN Lib “swind.dll“ (ByVal nIndex As Integer) As IntegerDeclare Function SW_CheckOffHook Lib “SWIND.dll“ (ByVal nIndex As Integer) As Inte
36、gerDeclare Function SW_CheckDisconnect Lib “swind.dll“ (ByVal nIndex As Integer) As IntegerDeclare Function SW_CheckRing Lib “swind.dll“ (ByVal nIndex As Integer) As IntegerDeclare Function SW_ReceiveDTMF Lib “SWIND.dll“ (ByVal nIndex As Integer, ByVal lpBuf As String) As IntegerDeclare Function SW_
37、ReceiveCID Lib “SWIND.dll“ (ByVal nIndex As Integer, ByVal lpBuf As String) As IntegerDeclare Function SW_StartFileRecord Lib “SWIND.dll“ (ByVal nIndex As Integer, ByVal FileName As String, ByVal FileLength As Long) As Integer Declare Function SW_StopFileRecord Lib “SWIND.dll“ (ByVal nIndex As Integ
38、er) As IntegerDeclare Function SW_CheckFileRecordEnd Lib “SWIND.dll“ (ByVal nIndex As Integer) As LongVB 下的示范程序名目:安装名目VBDEMO2.VBP该程序实现摘挂机检测、录放音、接收来电号码、接收 DTMF 号码。DELPHI 环境Delphi 对动态库的调用在 Delphi 中需要首先对 DLL 中的函数进展声明,然后才能对该函数进展调用。关于如何声明 DLL 中的函数,请参考 Delphi 中的 HELP 文件“external declarations“。你可以参考该函数在 C
39、语言中的声明,自己来声明 Delphi 下的函数调用。例如:在 SWIND.h 中的函数int WINAPI SW_CheckOffHook(int nIndex);在 Delphi 中:function SW_CheckOffHook (nIndex: DWORD) : INTEGER; stdcall; external ”SWIND.dll”;留意:声明最终要加 stdcall; external ”SWIND.dll”;在 C 语言中的 char *,要声明为 pchar GSMS.PAS 中的声明如下:function SW_Init:Integer; stdcall; far ex
40、ternal ”SWIND.dll”; function SW_Free:Integer; stdcall; far external ”SWIND.dll”; function SW_SetType(DeviceType:DWORD):Integer; stdcall; far external ”SWIND.dll”;function SW_GetCount:Integer; stdcall; far external ”SWIND.dll”; function SW_GetSN(nIndex:DWORD):Integer; stdcall; farexternal ”SWIND.dll”
41、;functionSW_CheckOffHook(nIndex:DWORD):Integer;stdcall;far external ”SWIND.dll”;functionSW_CheckDisconnect(nIndex:DWORD):Integer;stdcall;far external ”SWIND.dll”;function SW_CheckRing(nIndex:DWORD):Integer; stdcall; farexternal ”SWIND.dll”;function SW_ReceiveDTMF(nIndex: DWORD;lpBuf: PCHAR):Integer; stdcall; far external ”SWIND.dll”;function SW_ReceiveCID(nIndex: DWORD;lpBuf: PCHAR):Integer; stdcall; far external ”SWIND.dll”;function SW_StartFileRecord(nIndex: DWORD;FileName: PCHAR;FileLength: WORD):Integer; stdcall; far external ”SWIND.dll”;functionSW_StopFileRecord(nIndex:DWORD