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