VB设计有语音报时和报警功能的闹钟(5)
2008-04-09 04:44:42来源:互联网 阅读 ()
二、实现语音报时下面我们再继续个它添加语音报时的功能.其实很简单,主要思路就是获取当前时间,如果是整点(即,分针,时针都为零)时,我们可以运用MCI ( Media Control Interface , 媒体控制接口)来播放,你已经录好的报时的声音文件.下面我们具体来看一看怎样实现这一功能.
(1) 使用MCI控件
MCI是Windows提供的一个可以处理音频和视频的API(应用程序编程接口),通过它,我们可以很方便的实现对音频设备,和视频设备及其其他设备的控制.这一接口极大的方便了使用者,使我们可以只使用设备接口,而不用对实际的物理设备进行直接的操作.
为了使用MCI控件我们首先要点取Project ( 工程 ) / Components (组件)菜单,或在工具箱中点击右键,然后在弹除的菜单中选择部件,这时屏幕上会弹出如图所示的对话框.

在其中选中”microsoft Multimedia Control”,在单击确定按钮,就可以把MMControl控件添加到工具箱中了.当把MMControl控件添加到窗体中时,她的形状如下所示:

上面的九个按钮,分别表示九种功能.和普通的录音机上的按钮类似,从左到右分别是:Prev (向前) , Next (向后) , Play (播放) , Pause (暂停) , Back (快速倒带) , Step (快速进带) , Record ( 录音 ) ,和Eject (弹出).
使用时,先要为MMContorl控件指定一个要播放的文件,然后用Open命令打开它.然后再使用Play命令播放文件.最后关闭所打开的文件.
下面我们看看怎样用MMControl来实现语音报时功能.
下面是代码(我们这里主要给出所改动的地方):
‘ = = = = = = = = = = = = = = = = = = = = = = = =
‘ 每秒钟触发一次此事件,从而获取当时的时间,并调用相应的函数,画出三个针的位置
‘ = = = = = = = = = = = = = = = = = = = = = = = =
Private Sub Timer1 _ Timer ( )
miao = Second (time)
miao = 60 – miao
fen = Minute (time)
fen = 60 - fen
shi = Hour (time)
If shi > = 12 Then ‘因为一天之内时针要走二十四个钟头,也就是要走两圈,所以将下午和晚上的时间减去十二,就可以确定时针准确的位置
shi = shi - 12
End If
shi = 12 - shi
miao = xianshimiao ( maio )
fen = xianshifen ( fen )
shi = xianshishi ( shi )
If fen = 0 and miao = 0 then ‘如果分针和秒针都为零,这位整点,根据时针的数报时
Select case shi
Case 0 ‘零点,0.wav报时零点
MMControl1.FileName = App . Path & “ 0.wav ” ‘选择要打开的文件
MMControl1.Commond = “ Open ” ‘打开所选择的文件
MMControl1.Commond = “ Play ” ‘播放所选择的文件
Case 1 ‘ 一点,1.wav报时一点,以下依次类推
MMControl1.FileName = App . Path & “ 1.wav ” ‘选择要打开的文件
MMControl1.Commond = “ Open ” ‘打开所选择的文件
MMControl1.Commond = “ Play ” ‘播放所选择的文件
Case 2
MMControl1.FileName = App . Path & “ 2.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 3
MMControl1.FileName = App . Path & “ 3.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 4
MMControl1.FileName = App . Path & “ 4.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 5
MMControl1.FileName = App . Path & “ 5.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 6
MMControl1.FileName = App . Path & “ 6.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 7
MMControl1.FileName = App . Path & “ 7.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 8
MMControl1.FileName = App . Path & “ 8.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 9
MMControl1.FileName = App . Path & “ 9.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 10
MMControl1.FileName = App . Path & “ 10.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
Case 11
MMControl1.FileName = App . Path & “ 11.wav ”
MMControl1.Commond = “ Open ”
MMControl1.Commond = “ Play ”
End Select
MMControl1.Commond = “ Close ”
End Sub
不知道你的机子是否还能运行良好.毕竟再短短的一秒钟内,我们让计算机做的事情太多了.为了提高效率,我们可以考虑使用API函数.
我们先来看一下所要用到的相关知识.
1、 GetLocalTime()
VB声明:Declare Sub GetLocalTime Lib " kernel32 " Alias " GetLocalTime " ( lpSystemTime As SYSTEMTIME )
说明:在lpSystemTime结构中装载本地日期和时间
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
上一篇:用VB6.0编程禁止网上下载文件
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash
