语音卡应用vc++编程实例-PLC技术网(www.plcjs.com)-可编程控制器技术门户


语音卡应用vc++编程实例

 (点击题目可以 在互联 网中搜索该题 目的相关内容)
日期:2006-8-8 22:27:04     来源:   作者: 点击:
点击【 大  中  小 】,可以选择字体的大小,以便你阅读.
   
   目前电话语音产品已在各方面得到广泛应用,常用的语音卡具有4线或8线通道,可以同时处理4线或8线电话的请求。以下介绍利用语音卡实现计算机自动应答的医疗及养老帐户金语音查询系统。
  系统功能
   当外线电话打入时,计算机自动检测到振铃信号,并开始播放提示音,同时开始接收用户的电话按键信息。用户通过电话按键选择查询类别、输入身份证号码、查询年度,计算机根据接收的信息从后台ORACLE数据库中取得查询结果数据,并将相应帐户金额数据进行语音合成,再通过语音卡的相应外线电话通道播放查询结果,例如:"姓名张三 年度1999您的医疗帐户金余额是一千二百三十四元五角六分 上年利息一百二十三元 统筹金划入二十三元四角 个人缴纳二十八元五角 帐户内报销八百零八元八角八分"。用户端电话接听所查帐户数据的语音信号。
  
  编程思路
   系统应划分为6个运行阶段:
  1、 初始化语音卡、连接数据库,等待外线电话打入。检测到振铃后进入下一阶段。
  2、 接收用户选择的查询类别。
  播放提示音:"欢迎使用,查询医疗帐户请拨1,查询养老帐户请拨2,查询离退休金请拨3"。用户选择1-3后进入下一阶段。默认选择为1。
  3、 接收用户输入的身份证号码。
  播放提示音:"请您输入身份证号码"。用户输入后,系统判断数据库中是否存在此身份证号码,如果存在,则进入下一阶段。否则提示重新输入。
  4、 接收用户输入查询年度。
  播放提示音:"请您输入查询年度"。用户输入后,生成查询条件,取得查询数据。进入下一阶段。
  5、 合成及播放姓名语音。
  6、 帐户金数额语音合成及播放。
  
  具体实现
   由于电话语音卡的编程接口以windows动态链接库(TW8VID32.DLL)方式提供,可以使用目前常用的可视化开发工具,如:delphi ,vb, pb, visual c++等。下面以PB环境举例说明。
  首先建立一个新的application ,一个新的窗口yyk,在application的open事件中,连接后台ORACLE数据库,并对语音卡进行初始化。设置窗口的定时器。也可以在窗口yyk中设置一些代表各个通道当前状态的提示文本,在系统响应用户按键时可以随时更新提示文本,以反映各通道的工作状态。
  
  函数声明Global external functions ,以及常量定义
  FUNCTION int TV_Installed() library "tw8vid32.dll"
  SUBROUTINE TV_Initialize() library "tw8vid32.dll" 
  SUBROUTINE TV_Disable() library"tw8vid32.dll" 
  FUNCTION int TV_ChannelType(int chno) library"tw8vid32.dll"
  FUNCTION int TV_OffHookDetect(int chno) library"tw8vid32.dll"
  FUNCTION int TV_RingDetect(int chno) library"tw8vid32.dll"
  ......................略
  详细的函数声明附录在最后。
  
  定义结构ch_stru
  { string Fname //通道放音文件名
   int wstate //通道状态
   int jieduan //运行阶段
   int cx_select //查询类型
   string sfzhm //身份证号码
   string nd //查询年度
   string xingmin //姓名
   string sentence //通道放音字符 }

本新闻共10页,当前在第11 2  3  4  5  6  7  8  9  10  

上一篇: 标准PID源程序
下一: 力控组件应用---内置数据表详解