【doc】一个用Delphi开发的语音信箱
一个用Delphi开发的语音信箱
—
型生L王锁萍
(南京邮电学院87茸210003),r 摘要本文介绍了一个用Delphi开发的语音信箱,该系统利用FSM,OOA有关理论
统设计.实现了信箱留言,放音,修改密码,动态维护等功能.具有较高的实用性.
关键词堡童焦筮OOAOOPFSM馋-勋毫
l1莉言
语音信箱是近年来出现的一种通信手段.是浯音 信号处理技术,通信技术与计算机技术的结合.对于无 法进行实时通信的用户来说是方便,可靠的.无论人在 何处,只要通电话且申请登记了语音信箱,存,取信息 都十分方便.此外在公用信息发布,信息咨询,商用方 面应用也十分广泛.
该系统的软件用Delphi编写.Delphi是Borland 公司推出的Windows环境下的编程工具.具有面向对 象,可视化编程等特点.尤其是数据库开发极其方便. 被评为开发效率最高的软件之一.
该系统的硬件包括一台计算机及一块电话语音 卡.随卡配有DLL驱动程序.包含有操纵该卡的底层 函数.电话语音卡起通信和在数字信号,模拟信号之问 转换的作用,计算机起控制和存储语音信息的作用. D&ETURB0WAY电话语音处理卡可外接轩j互 独立的多路电话线.每一路电话都可由软件编程完成 如下基本功能:
*自动检测用户打进时的振铃信号:
*可控制外线的摘挂机;
*将数字化语音文件放送到电话线上;
*将电话语音录制成数字化浯音文件;
*接收用户的按键码(双音频码):
*检测电话线路返回的信号音状态.以实现自动 拨号:
*录放音时检测对方的挂机信号.
每一路电话都可同时进行录音,放音和接收用户 按键码.故用同一个电话即可完成文件的录制,编辑, 重放.
2系统主要功能
2,l语音信箱基本功能
j羽户通过电话与系统建立连接.按电话按键输入 信箱号,密码及必要的选择使系统分别完成留育,放 音,修改密码等功能.用户选择放音且输入密码正确. 系统将该信箱的所有未放过音的语音文件按先后次序 一一
播放;用户选择留言且输入信箱号正确.系统将留 收稿日期:1997年8月8日
进行系统分析,系
l
言录音并将文件存人对应该信箱的数据库;用户选择 修改密码且输入原密码正确.则系统两次提示输入新 密码.若两次密码相同,系统把新密码存人数据库.并 提示修改成功
2.2系统参数设置功能
系统臀理员可在系统软件界而上设置留言限时, 系统时同等参数.留言限时即系统允许的用户每次留 青的最长时问.防止恶意用户数小时地留言造成语音
文件过大计算机硬盘溢出.
2.3信箱留言查询功能
当用户信箱内信息被走以后.该语音文件即被打 上标志.留待一定时问后删除.正常情况下管理员无权 监听信箱留言.但为了某些特殊情况下用户或公安部 r】要查询.特设此功能.使掌握此密码的系统管理员有 权查询,播放信箱留言.
2.4用户竹理功能
掌握此密码的系统管理员可登记,删除用户.修改 用户密码,信箱号,联系电话等用户信息
2.5特服功能
除了成百上千个普通用户信幸f,还可开辟一些供 公众查询信息的特服信箱.如信箱号以0O开头的 00一号信箱.系统中存有对应每个特服信箱的树形多 级多选掸结构.此结构可根据每个特服信箱的信息分 类进行编辑,录音,这样系统符理员可方便,灵活地扩 充特服信箱的查询业务.
树形结构如下
00,信箱
j{jJ选择l
,
jJ{J,选扦l
/!\
//\l2
0级
l级
2级
.则系统首先播放0级 例如用输'人0o00信箱号
0选择对应的语音文件.提示三个选择.似设用户输入
2.则系统播放l级2选抒埘应的语音文件.提示两个 选择.假设用户输入1.则系统播放2级1选择对应的 语音文件.若下而没有分支则放音完毕挂机
?64?计算机应用研究1998年
3系统分析
0OP的最大特点就是封装和抽象.把数据属性和 方法都封装在类中,通过成员函数来操纵数据. 系统中主要的实体有语音卡的通道;信箱;对应每 个信箱的用户.
对应三种实体抽象出三个类;
类:tchanneI抽象了语音卡通道的属性和方法(操 作).主要属性包括通道号,通道状态,收到的号码,服 务结束时的出口信息等;主要的方法有通道信号音检 测,通道控制,收发号码,放音,录音等.
对象channel[o3.channel[1].???.channel[73
分别对应八个通道.
类:tbox抽象了每个用户的信箱的属性和方法. 主要属性包括信箱号,语音文件名等;主要方法有:放 音时从数据库中取出对应语音文件名,录音成功在库 中插入一个语音文件名记录,产生语音文件名等. 对象为:box[o3,box[1].???.box[7]分别对
应八个通道的信箱.
类:tboxuser抽象了用户的属性和方法.是从 tbox派生出来的.主要属性有:信箱主人,密码,备注 信息等;主要方法有检验信箱号,检验密码,修改密码 等.
对象为:boxuser[0].boxuser[1].???.boxuser
[7]分别对应八个通道的信箱用户.
数据库中有两张
:通过boxid联接起来 类的层关系:
teh~'el一一\'
Ibox
tboH
实体关系图
厶毕钫
友2:boxid.o,ttgner,tele.memo.code,date
4程序结构
应用FSM理论.使系统运行在七个状态之中,系 统运行始终是可测可控的.上图为状态转移图: 在50ms时钟中断事件中处理电话通道中的一切 操作.
各种状态定义如下:
idle:通道空闲状态
playinstroution:放多种提示音
receive.waltdtmf:接收用户的输入号码并作出判断 playing:播放语音信箱留言
recording:语音信箱留言录音
error:通道操作结束出口.有各种信息. 包括录,放音正常结束.输入号码错误.用户挂机等信 息.
5结束语
本系统开发过程中运用了多种系统分析,设计方 法,系统功能齐全.操作方便.运行稳定,用户使用十分 满意.
的
燮
(曲阜师范大学数学与计算机科学系山东27
在乏萋篁垫?:妻土篓j童塑理功\,,'————,—__,-—,,———一,,,——————
—一
能.其中包括音量控制.声卡的种类不同.音量控制的 方法也稍有不同.下丽笔者以MAD16PRO声卡为 例.简要介绍软件控制音量的工作原理.并给出C源 程序
SoundPowerPro16(MAD16Pro)是一种16位 声卡产品.该卡采用了OPTi的数字立体声声音控制 集成电路82C929.其AD/DA转换部分采用了 AAL0GDEVICE公司的AD90609集成电路.完全 收稿日期:1997年9月25'日
兼容SoundBlaster,SoundBlasterPro,Windows
SoundSystem,MPU一401和Adlib.该卡提供双声道 立体声效果.我们可通过对左右声道状态,数据寄存器 的操作控制左右声音的输入电平幅度.从而达到软件 控制音量的目的.
'下面给出的是一个终止并驻留内存型程序.该程 序修改B10S9号键盘中断.用于检测是否有热键按 下.同时修改BIOS8号时钟中断.从中完成音量的控 制.该程序在TC2.0下编译成功.程序运行后.用户 可通过以下热键控制音量:ALT+F8(音量增加). ALT+F9(音量减小).ALT+F10(声音屏蔽).