首 页 网络编程
网页制作 图形图象 操作系统 冲浪宝典
软件教学 认证考试

网络安全 网络办公 行业资讯 评测对比
您当前位置:站长天空 -> 网络安全-> 黑客攻防
“会报数的计算器”的基本实现_visualbasic教程
作者:网友供稿 点击:0
推荐
西部数码-全国虚拟主机10强!20余项虚拟主机管理功能,全国领先!第6代双线路虚拟主机,南北访问畅通无阻!可在线rar解压,自动数据恢复设置虚拟目录等.免费赠送访问统计,企业邮局.Cn域名注册10元/年,自助建站480元起,免费试用7天,满意再付款!P4主机租用799元/月.月付免压金
站内搜索
文章页数:[1] 
一段"古老"的构思;

两组不难的程序;

三个常见的软件;

这就请你编出"会报数的计算器"!


  一段"古老"的构思:


  记得还是在97年春天的时候,老师让我在电脑上统计全班考试的总成绩。我一个人在桌前一边用Windows附件里的计算器,一边手里那着厚厚的考卷往电脑里输入成绩。眼睛一会看考卷,一会移向屏幕,一会儿又得盯着键盘上右边的数字键。这样不仅眼睛和脖子累得很,而且很容易把数字录入错了。忽然想起宿舍小卖部里的那台会发音的计算器,它在按数字键时它会主动报出数字来。


  那时我刚刚成为VisualBasic的狂热爱好者,马上就想到用VB必然可以编出这种会语音报数的计算器来,并且让这个程序仅用一张3寸软盘就可以装下。


  两组不难的程序:


  用VB实现一个计算器的功能,我想这就不用我多说了吧?VB自带的范例里就已经有计算器的程序了(在VB目录下的samples/calc中)。这是VB教学里最基本的程序,但是这个自带的计算器程序只能用鼠标点击计算器上的数字键时才能输入数字,所以我们还要加上响应数字键盘的程序。这一点VB的初学者都可以轻易解决。


  另一个技术上的关键就是让计算机发音,这个问题在VB里同样可以解决。我们事先录下一段起名为sound.wav的声音文件。然后再用VB的多媒体控制接口MMControl控件命令来控制播放这段声音文件就可以了。你要是在VB的工具箱ToolBox中找不到MCI控件,可以在菜单里的"Tools"中"CustomControls"选"MicrosoftMultimediaControl"对象就可以在工具箱中增加MMControl对象。


  看,"发音计算器"程序主要构成就是这两组不难的模块部分。但是构思的最精彩细节还在后面。


  三个常见的软件:


  首先我们要录一段声音文件。如图1,对着WINDOWS附件中的录音机快速而又有停顿地念出1234567890,把他们起名存成sound.wav文件。这个过程不用我细细描述了吧?但要注意录音的音频属性要调整为收音质量品质,用不着象CD一样的音质,这样文件就可以少占用空间了。看这段wav文件只有80K大小、3.7秒长,但这还只是开始,我们后面还有绝招。


  第二个要用到的软件就是COOL,这是一个音频处理软件。它需要注册才能同时使用全部功能,但是我们这里仅用到COOL1.33版的一部分编辑和存盘的功能就足够了。因为此文是篇"古老"的东西,所以1.33版已是很老的玩意了,现在应该早就有了很多的更新版本。实际刚才录下的声音文件在每个数字声波间隔中还有很大一段没有有用信息的空间。如图2,用Zoomin放大声波文件我们就可以看到数字发音1和2中有0.2秒的无用信息,数字发音1前也有一段无用信息。用鼠标选中它们后删除,删除的同时你就可以看到COOL软件下方随时都在报这段文件改动后的大小和时间长短。经过简单的删除,紧缩的声音文件一下就变成了42K、2秒大小了。其实要是仔细修饰和调整声波文件,再用COOL重新选择编码方式还就可以把文件作得更小。这就使一张3寸软盘就可以装下整个发音计算器软件的可能变可行。另外还要注意COOL右下角的Time参数,用它和放大波形图的配合可以精确地标算出每一个数字发音文件的起始位和结束位,一会我们在VB中就要用到它所标出的参数定位。


  第三个软件当然是我们的VB大宝宝。先来个小实验:如图3,用上面描述过的方法在窗体加上一个MCI多媒体播放器的控件,再加上一个按钮,上面标上数字2。加入一下程序代码:


PrivateSub


Form_Load()

MMControl1.TimeFormat=0

MMControl1.DeviceType="waveaudio"

MMControl1.filename="c:\sound.wav"

MMControl1.Command="open"


EndSub


  这些代码告诉了电脑设定计时方式为把1秒分成1000个单位;启动MCI控件播放声波.wav的文件;通知电脑要播放的文件所处位置;打开MCI控件作好播放准备。


  再在"2"按钮中加入代码:


PrivateSub


Command1_Click()

MMControl1.From=180:

MMControl1.To=400

MMControl1.Command="play"

EndSub

  一运行按按钮就会清晰地发出"2"这一发音。现在我们可以说对整个"发音计算器"程序的实现有了一个清楚的认识了吧?通过VB的From和To的控制,我们可以挑选.wav文件的任意一段来播放。我们可以通过COOL软件精确地知道在sound.wav文件中从0.18秒到0.4秒是"2"这一数字的发音。COOL之类的音频处理软件和VB的MCI多媒体控件对声波文件的播放功能之完美组合就可以化不可能为可能。我们在计算器按那个数字键时同时就让MCI控件播放那个数字的发音片段,比如和SelectCaseIndex语句作简单配合就可以轻而易举地实现按数字发音的效果,篇幅有限这里就不再具体描述了。整个程序的主体用不着半天就可以完成了,而且相当实用。使用计算器时眼睛只用看着纸面,手指就可以在数字小键盘上潇洒轻快地点动着。请你快快实现它吧,作为你开发的又一个自由软件成名于天下。


  不过要想让它可靠实用地工作还有一些工作要做。比如声音里还要加入" -*/=.清0"等符号的声音,还要有除0时的警告,如果我们用API形式来播放声音文件还要具体考虑声音的同步异步播放、函数在声音播放后的返不返回问题,还应该加入对计算结果的逐字读出的等功能,要开发也得加上科学计算器的形式……好苦呀!所以我把这些工作都留给了你。


  ^_^后记:也许当时就早有人用到了这个小构思,但我在自己想出这个主意的时候还是很有成就感的,不用为每一个数字键都作一段录音了,节省了大量的空间和简化了程序的运行过程。最近发现北京114电话查询台播报号码时很可能也是利用了播放数字声音片段的方式,有些发音电子记事本可能也是"抄袭"了我的技术。由此延伸,其实会报时的闹钟、计时器、车船飞机的售票处、旅馆车站查询服务台等等很多地方都可以用这样的方法来完成种种发音功能。->


文章整理:站长天空 网址:http://www.z6688.com/
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

文章页数:[1] 


放大字体显示 缩小字体显示 打印文章 推荐给朋友
热门文章
·J2EE平台介绍-JSP教程,J2ME开发
·自己制作友好的页面“确认对话框”-ASP教程,ASP应用
·DataAdapter是如何更新数据库数据的?-.NET教程,数据库应用
·jsp项目中实现关闭浏览器后吊线,只要不关闭不操作也保持在线-JSP教程,Jsp/Servlet
·企业Java技术开发技巧2则-JSP教程,Java技巧及代码
·刚刚整理好-汉字转拼音缩写的函数-.NET教程,评论及其它
·关于数据返回给调用页面-ASP教程,数据库相关
·如何使用C#压缩文件及注意的问题!-.NET教程,C#语言
·数据库安装程序-.NET教程,数据库应用
·DataGrid的自定义分页UserControl-.NET教程,数据库应用
最新文章
·王通:网站推广的18种秘笈_营销推广
·什么是mfa,以及停止mfa的好处_网赚技巧
·google adsense 域名保护功能是否作恶_网赚技巧
·关于无效点击-adsense团队资深专员如是说_网赚技巧
·google adsense将以人民币支付_站长访谈
·bbmao的神秘配方:打破中文聚类搜索的低迷_站长访谈
·你的网站为什么粘不住流量?_站长心得
·决定网站成败重要的六个因素_站长心得
·widnows vista是吃内存大户 优化vista攻略_windows vista
·首页所应该达到的几个目标(1)_站长心得
相关主题
西部数码虚拟主机

友情链接
CNNIC 西部数码
万网 自助建站
虚拟主机 asp空间
域名注册 域名
域名申请 主页空间
论坛空间 网站空间
国际域名 虚拟空间
空间租用 DDOS防火墙
成都主机托管 四川主机托管
主机租用 服务器租用
网站目录 自助建站
虚拟主机 网址大全
软件下载
自助链接
虚拟主机资讯 特价虚拟主机
版权申明:本站文章均来自网络,如有侵权,请联系我们,我们收到后立即删除,谢谢!
关于我们:站长天空:专业提供最新的站长资讯、在线教程、虚拟主机权威评测、虚拟主机性能对比、网站制作教程,开发教程,站长工具。包括网页制作教程、冲浪宝典、编程参考、操作系统、软件教学、行业动态等。
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有。
发表评论 打印  刷新     关闭