能够语音报时的时钟程序

hackershell 2010-04-22 08:54:05
其实最初看到这段代码是阿珊写的。觉得还算实用点。发来共享下。
该程序中用到的声音资源文件可到我的小站下载:
http://www.zmdyf.net/sound.rar
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (lpszSoundName As Any, ByVal uFlags As Long) As Long
Private Const SND_SYNC = &H0 ' play synchronously (default)
Private Const SND_MEMORY = &H4 ' lpszSoundName points to a memory file
'上面是播放声音的API.
Dim btArr() As Byte
Dim btArrT() As Byte
Private Sub cmdBaoShi_Click()
Dim H%, M%, N%
btArr = LoadResData(118, "CUSTOM") '叮咚
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
btArr = LoadResData(116, "CUSTOM") '播放现在时间是
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
H = Hour(Now()) '播放小时
N = H \ 10
If N = 0 Then
btArr = LoadResData(100 + H, "CUSTOM")
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
Else
btArr = LoadResData(110 + N - 1, "CUSTOM")
N = H Mod 10
btArrT = LoadResData(100 + N, "CUSTOM")
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
If N > 0 Then sndPlaySound btArrT(0), SND_MEMORY Or SND_SYNC
End If
btArr = LoadResData(117, "CUSTOM") '播放点
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
M = Minute(Now()) '播放分钟
N = M \ 10
If N = 0 Then
If M <> 0 Then
btArr = LoadResData(100, "CUSTOM") '播放零
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
btArr = LoadResData(100 + M, "CUSTOM")
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
End If
Else
btArr = LoadResData(110 + N - 1, "CUSTOM")
sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
M = M Mod 10
btArrT = LoadResData(100 + M, "CUSTOM")
If M <> 0 Then sndPlaySound btArrT(0), SND_MEMORY Or SND_SYNC
End If
btArr = LoadResData(115, "CUSTOM") '播放分
If M <> 0 Or N <> 0 Then sndPlaySound btArr(0), SND_MEMORY Or SND_SYNC
End Sub
...全文
133 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
舉杯邀明月 2010-04-22
  • 打赏
  • 举报
回复
顶楼主……
孤独剑_LPZ 2010-04-22
  • 打赏
  • 举报
回复
不错,谢谢分享

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧