来源:CSDN
发布时间:Nov 16, 2020, 7:22:24 PM
原地址:https://blog.csdn.net/weixin_45769564/article/details/109727761
起床困难户既是一个群体的统称,也是一种新的文化现象。天气渐渐变凉,相信很多小盆友会在早上起床时都会有这样一种问题。身为程序员的我们,何不借我们使用的工具为自己制作一款属于自己的闹钟呢?
下面是我为自己设计的一款语音闹钟小程序
在制作之初,我们首先要明确我们产品的目标功能:
(1)使用TTS,实现利用微软windows系统插件,并调用这个插件的功能,帮助我们实现语音提示的功能
(2)基本的闹铃功能,可以自定义语音提示内容
在明确了产品相关功能的前提下,我们来设计相应的界面。
在设计完界面后,再根据界面完善一下我们的目标功能
当我们确定好闹铃时间后,那闹铃的时间就不能乱改了
Private Sub Command1_Click()
Text2(0).Enabled = False
Text2(1).Enabled = False
Text1.Enabled = False
Timer1.Enabled = True
End Sub
如果想更改闹铃时间,那我们还需以下设计
Private Sub Command2_Click()
Text2(0).Enabled = True
Text2(1).Enabled = True
Text1.Enabled = True
Timer1.Enabled = False
End Sub
闹铃时间的设定用一个函数就可以搞定
Private Sub Form_Load()
Text2(0).Text = DateAdd("n", 1, Now)
Text2(1).Text = DateAdd("h", 6, Now)
End Sub
最后是我们要引入的对象,vb是基于面向对象的,因此不能直接引入,但我们可以调用
利用我们所学的知识,创建一个对象实例,利用关键字来进行设置,像下面这样
Dim o As Object
Set o = CreateObject("sapi.spvoice")
o.speak (Text1.Text)
我们是需要一个实时监测的功能,以判断是否到达我们所设定的时间,当到时间后,闹铃就直接读出我们事先设定好的语音文本即可
Private Sub Timer1_Timer()
'现在时间
Label2.Caption = "现在时间:" & Now
Dim i%
For i = 0 To Text2.UBound Step 1
If Text2(i).Text = CStr(Now) Then
'MsgBox "第" & (i + 1) & "个闹钟开始"
'语音文本
Dim o As Object
Set o = CreateObject("SAPI.SpVoice")
o.speak (Text1.Text)
End If
Next i
End Sub
windows本身就是一个很大的数据库,我们可以从中调取很多可以用的对象。
一款语音闹铃就做好了。