扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
你所需要的API函数称为PlaySound,以下为该函数的声明:
Public Declare Function PlaySound Lib "winmm.dll" _
Alias "PlaySoundA" (ByVallpszName As String, _
ByValhModule As Long, ByValdwFlags As Long) _
As Long
在这一函数中,第一个变量是名称,包括运行的Wave文件的路径。第二个变量在运行文件时通常不使用,所以你可以将它赋值为zero。最后一个变量包含控制函数如何工作的标记。
为了当前的需要,必须需要两个标记。它们是:
SND_ASYNC (value= 1):以异步方式运行,这意味着当播放声音时函数在运行。
SND_FILENAME (value = &H20000):第一个变量为一个文件名。
所以,以下代码播放了DingDong.wav文件中的声音:
PlaySound "dingdong.wav", CLng(0), _
SND_ASYNC Or SND_FILENAME
当运行在一个程序中运行音频文件时,还有其他两点值得注意。第一,你必须确保一个特定的音频文件存在,否则会产生错误。这一过程可以用以下一个简单的函数来完成:
Public Function FileExists(FullFileName) As Boolean
'' Passed a filename (with path) returns
'' True if the file exists, False if not.
Dim s
s = dir(FullFileName)
If s = "" Then
FileExists = False
Else
FileExists = True
End If
End Function
第二,程序必须具有为用户提供关闭声音的选择设置。这一过程可以通过使用一个比如gProgramSoundsEnabled的全局布尔变量来实现。
我的方法是在一个函数中同时处理这些需要,如下所示。(以下代码假设音频文件已经存放在程序文件中)
Private Sub PlaySoundX(filename As String)
'' If sound is enabled and filename exists,
'' play the specified sound.
filename = App.path & "\" & filename
If FileExists(filename) And gProgramSoundsEnabled Then
PlaySound filename, CLng(0), SND_ASYNC Or SND_FILENAME
End If
End Sub
正确使用这些函数,程序就可以播放任何Wave文件,如下所示:
PlaySoundX "DingDong.wav"
从VB程序播放音频文件的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。(ZDNET CHINA)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者