一个提醒程序最典型的就是闹钟程序网上有不少个性化的提醒程序下载但是大部分都是以时间为主的闹钟提醒我们也可以用来打造一个适合自己的提醒程序比如监控一个某个应用程序的变化然后发出声音提醒自己等等
一个提醒程序最重要能在符合提醒条件的时候发出声音来提醒使用者在这里我们就对具体的提醒条件啰嗦了只针对如何实现提醒声音的播放进行说明
在的net组件中并没有提供播放声音文件的组件但是我们可以通过使用Com组件来播放声音文件但是要注意的事我们只需要发出提示的声音而已并不需要像播放器那样播放不同格式的声音文件和繁多的列表所以我们可以通过API函数来循环播放单个的声音文件
在WindowsAPI函数的有一个PlaySound函数它用于播放WAV格式的声音文件我们可以用它来反复播放一个指定的WAV文件来实现提醒功能
首先在中引入API声明
Public Declare Function PlaySound Lib winmmdll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer
然后定义几个我们程序中必须用到的dwFlags参数常量
同步调用PlaySound中指定的文件播放完WAV文件后才返回结果
Const SND_SYNC As Integer = &H
异步调用PlaySound中指定的文件不必等到播放完WAV文件后就直接返回结果在这里我们可以调用异步方法来播放文件
Const SND_ASYNC As Integer = &H
反复播放指定的WAV文件
Const SND_LOOP As Integer = &H
在调用的时候hModule参数必须为
需要停止的时候通过调用PlaySound(vbNullString )来实现现在我们在窗体上放置两个按钮一个用于开始播放一个用于停止播放然后再放置一个TextBox控件用于指定WAV文件的路径界面如下图所示
图一示例界面
完整代码如下
Public Declare Function PlaySound Lib winmmdll (ByVal lpszSoundName As String ByVal hModule As Integer ByVal dwFlags As Integer) As Integer
Const SND_FILENAME As Integer = &H
Const SND_ALIAS As Integer = &H
Const SND_SYNC As Integer = &H
Const SND_ASYNC As Integer = &H
Const SND_LOOP As Integer = &H
Private Sub Button_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles ButtonClick
PlaySound(TextBoxText SND_LOOP Or SND_ASYNC)
End Sub
Private Sub Button_Click(ByVal sender As SystemObject ByVal e As SystemEventArgs) Handles ButtonClick
PlaySound(vbNullString )
End Sub
运行在TextBox中输入有效的WAV文件的路径然后单击开始就可以循环播放声音了单击停止按钮就可以停止播放
当然本文只是讲述制作一个闹钟提醒程序的关键部分的实现要完成一个真正的提醒程序我们可以根据自己的需要添加合适的提醒触发条件就可以做出一个真正个性化的闹钟提醒程序了