网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.让VisualBasic程序在Windows启动.
.SQL的基本操作(3.表的相关操作).
.告诉你两种判断闰年的简单方法.
.使用VB建立WebServer一例.
.利用VB进行多媒体程序设计初步.
.用CELL组件显示Access数据库的图.
.VisualBasic使用技巧.
.VB5.0中远程数据库的访问.
.VB游戏写作技巧(2)网络篇.
.VB游戏写作技巧(1)秀图篇.
.怎样用VB在应用程序中调用API.
.用ParamArray接收任意个参数.
.VB6.0中的几个新增数据库工具.
.用VB打造自己的SQL连接器.
.VB6.0初学者的十个编程小技巧.
.在vb中删除带子文件夹的文件夹.
.VB访问SQLServer的探讨.
.VB中实现带预览的对话框.
.VB利用高级音频函数编写多媒体播.
.MDIForm可否跟一般的表单一样设定.

编制自已的电话录音小程序

发表日期:2006-2-27


或许你会认为用计算机进行电话录音需要昂贵的专用软件,其实只要懂得VB和Access的一些基本知识,我们也可以自己制作一个具备电话录音、录音数据保存、查询功能的小系统。大概只需1500元左右,其费用主要用于增添所需的声卡、音箱及具有语音功能的Modem(当然还有你的脑力劳动),比起两三万元的专用录音软件,可以说是物美价廉了。
首先介绍该系统的工作原理:利用VB5.0的OLE容器控件,在运行时创建嵌入对象的方法,激活在WIN95注册过的录音软件,将输入到声卡的电话语音信号录制为WAV文件,嵌入OLE容器控件中。由于把OLE容器控件与某个数据库绑定,在声音文件嵌入OLE容器控件的同时也存入了数据库。以下将详细地介绍小系统的实现过程,主要有设备的连接、数据库的建立、简单的VB编程。
一、设备的连接
设备的连接主要指Modem与电话线、电话机,Modem与声卡之间的连接方式。先将墙上的电话进线插到Modem的接口上,再用另一根电话线接在Modem与电话机之间,把Modem与电话机串联起来。Modem与电话机之间的顺序必须被考虑到。如果电话进线先进入电话机,当提起电话听筒时,信号将先被电话机截取,而不能进入Modem。接下来用双向音频输入输出线把Modem的SPK端口和声卡的LINEINC端口连起来;将Modem的声音信号输入到声卡。好了,完成设备的连接后,我们就可以开始进行软件方面的制作了。
二、用Access建立一个收藏录音数据的数据库
首先建立一个存放声音数据的数据库,数据库可以是存储在MicrosoftJet数据库引擎中的Microsoft
Access、dBASE、MicrosoftFoxpro、Excel等。由于需保存的数据并不复杂,我选用了小型而易用的MicrosoftAccess97,建立一个名为Recorder的数据库来管理录音数据。在Recordeer数据库中生成表Recording,该表包含四个字段:ID、录音文件、Day、Time。结构如下:
-----------------------------------------------
字段名称数据类型字段属性
-----------------------------------------------
ID自动编号递增
录音齐件OLE对象
Day日期/时间默认值=Date();格式=长日期
Time日期/时间默认值=Time();格式=长时间
------------------------------------------------
把数据库Recorder保存在C:\下,以待后用。数据库方面的工作暂时到此为止,接着将要用VB来编写一个小程序,实现录音、自动将数据存入数据库的功能。
三、用VB5.0建立录音小程序
在VB5.0下新建一“标准EXE”工程,打开工程中的空白窗体Form1。在Form1上添加各种控件。
1.在Form1上添加Data控件
将Data控件添加到窗体上,Data控件属性设置如下:
-------------------------------------------
(名称)Data1
-------------------------------------------
ConnectAccess
DatabaseNameC:\RECORDER.mdb
Recordsourcerecording
-------------------------------------------
以上属性设置把Data控件绑定到刚才建立的Access数据库Recorder的recording表。
2.在Form1上添加TextBox控件
在Form1上添加三个TextBox控件,并在适当位置增添相应的标签。文本框属性设置如下:
------------------------------------------------------------
TextBox控件1TextBox控件2TextBox控件3
------------------------------------------------------------
(名称)Text1Text2Text3
DataFieldIDDayTime
DatasourceData1Data1Data1
------------------------------------------------------------
以上属性设置使三个TextBox绑定到Data控件,用于从与Data控件连接的数据库中分别显示字段ID、Day、Time。
3.在Form1上添加OLE容器控件
在Form1上添加OLE容器控件,属性设置如下:
----------------------------------
(名称)OLE1
----------------------------------
DataField录音文件
DatasourceData1
Autoactivate2-Doubleclick
----------------------------------
通过属性设置把它与Data控件绑定,从Recorder数据库中显示字段“声音文件”。当OLE容器中的录音数据被更新时,被更新或新增的声音对象将自动被写回数据库。当双击OLE容器中的数据时,将自动播放声音文件。
4.在Form1上添加CommandButton控件
添加两个CommandButton控件到Form1上,其中一个命令按钮用于调用录音机以录制通话数据,并将录音的声音数据嵌入到OLE容器中。该按钮属性设置如下:
---------------------
(名称)Command1
---------------------
Caption开始录音
---------------------
双击Command1,在PrivateSubCommand1_Click()中输入以下代码:
Data1.DatabaseName="C:\recorder.mdb"
Data1.Recordsource="Recording"
Data1.Refresh'创建一条新记录
Data1.Recordset.AddNew'创建一个嵌入声音对象
OLE1.CreateEmbed"","SOUNDREC"'激活WIN95附件下的录音机
OLE1.DoVerb0
EndSub
另一个按钮用于关闭程序,属性设置如下:
----------------------
(名称)Command2
----------------------
Caption退出
----------------------
双击Command2,在PrivateSubCommand2_Click()中输入以下代码:
UnloadForm1
End
EndSub
5.编写Form1的Activate过程
Form1的Activate过程代码,用于在Form1打开的同时打开通信软件SuperVoice2.2并激活Command1的功能。双击Form1,弹出编写代码窗口,在对象下拉列表中选择Form,在过程下拉列表中选择Activate,在Pri
vateSubForm_Activate()中输入以下代码:
'激活Command1的功能
CallCommand1_Click
'调用安装在d:\supervoc\program\中的通信程序SuperVoice2.2,来启动Modem的语音功能
dimtel
tel=shell("d:\supervoc\program\supervoc.exe",1)
appactivatetel
EndSub
四、程序运行结果
保存工程,并将其生成可执行程序“录音.EXE”,放在C:\下面。好了,大功告成。现在退出VB,试一试
在WIN95下运行。
当双击“录音.EXE”时,程序自动打开通信软件SuperVoice2.2(一般购买Modem时都随机附送SuperVoice2.2),在SuperVoice2.2的系统设置中将语音输入设备设为电话听筒,及启动SuperVoice2.2时弹出仿真电话拨号盘(只需在第一次使用时设置)。设为电话听筒的好处是通话时不需要麦克风,直接使用电话机。接着出现窗体Form1,并自动启动附件下的录音机。进行通话录音时,单击仿真电话拔号盘上的免提键及录音机上的录制按钮,开始录音。录制的声音文件被嵌入OLE容器中,同时被写到与OLE容器连接的数据库Recorder.mdb中,并自动生成录音的日期时间。除了录音功能外,还可以通过点击Data控件上的箭头按钮选择记录查询,双击OLE容器(显示为喇叭图标);自动播放选择的通话录音。如果再给窗体Form1添上DBComboBox、DBGrid控件,将使其查询功能更为完善。
顺便提一下,刚写完这篇文章,我又找到一个可在Win95注册的录音软件,就是创新的SoundO'LE,由于界面漂亮且没有限制录音长度(附件的录音机的录音长度只有一分钟),我将准备拿它来取代那土里上气的录音机,使得我的小程序更具专业性。
以上代码在VB5.0、Win95系统上调试通过。->

上一篇:在VB中播放AVI文件 人气:5246
下一篇:用VB在AutoCADR14中写Text的方法 人气:3688
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐