VB.NET编程语言可以说功能是非常强大的。而且其的应用范围也是很广泛。比如对界面的操作,和对声音的操作等等。我们今天将会了解到有关VB.NET播放WAV的相关应用技巧,希望能给大家大带来希望。
Wednesday, September 24 2003 1:24 PM 当一定事件完成时,程序发出特定的信号则可以增加程序的用户界面特性,比如在下载完成或者选择一个命令的时候。使用一个多媒体功能,通过一个vb程序来运行WAV文件是一件轻而易举的事情。然而,系统必须为这一操作而安装一个声卡。
你所需要的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):第一个变量为一个文件名。
所以,以下VB.NET播放WAV代码播放了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
第二,VB.NET播放WAV程序必须具有为用户提供关闭声音的选择设置。这一过程可以通过使用一个比如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.NET播放WAV的其他方法包括窗体上的多媒体控制。当你不需要这些控制特性时,以上讲述的技术已经足够,并且很容易掌握。
【编辑推荐】