VB.NET播放WAV實現(xiàn)方法介紹
VB.NET編程語言可以說功能是非常強(qiáng)大的。而且其的應(yīng)用范圍也是很廣泛。比如對界面的操作,和對聲音的操作等等。我們今天將會了解到有關(guān)VB.NET播放WAV的相關(guān)應(yīng)用技巧,希望能給大家大帶來希望。
Wednesday, September 24 2003 1:24 PM 當(dāng)一定事件完成時,程序發(fā)出特定的信號則可以增加程序的用戶界面特性,比如在下載完成或者選擇一個命令的時候。使用一個多媒體功能,通過一個vb程序來運行WAV文件是一件輕而易舉的事情。然而,系統(tǒng)必須為這一操作而安裝一個聲卡。
你所需要的API函數(shù)稱為PlaySound,以下為該函數(shù)的聲明:
- Public Declare Function
 
PlaySound Lib "winmm.dll" _- Alias "PlaySoundA"
 
(ByVallpszName As String, _- ByValhModule As Long,
 
ByValdwFlags As Long) _- As Long
 
在這一函數(shù)中,第一個變量是名稱,包括運行的Wave文件的路徑。第二個變量在運行文件時通常不使用,所以你可以將它賦值為zero。最后一個變量包含控制函數(shù)如何工作的標(biāo)記。
為了當(dāng)前的需要,必須需要兩個標(biāo)記。它們是:
SND_ASYNC (value= 1):以異步方式運行,這意味著當(dāng)播放聲音時函數(shù)在運行。
SND_FILENAME (value = &H20000):第一個變量為一個文件名。
所以,以下VB.NET播放WAV代碼播放了DingDong.wav文件中的聲音:
- PlaySound "dingdong.
 
wav", CLng(0), _- SND_ASYNC Or SND_FILENAME
 
當(dāng)運行在一個程序中運行音頻文件時,還有其他兩點值得注意。第一,你必須確保一個特定的音頻文件存在,否則會產(chǎn)生錯誤。這一過程可以用以下一個簡單的函數(shù)來完成:
- 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程序必須具有為用戶提供關(guān)閉聲音的選擇設(shè)置。這一過程可以通過使用一個比如gProgramSoundsEnabled的全局布爾變量來實現(xiàn)。
我的方法是在一個函數(shù)中同時處理這些需要,如下所示。(以下代碼假設(shè)音頻文件已經(jīng)存放在程序文件中)
- 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
 
正確使用這些函數(shù),程序就可以播放任何Wave文件,如下所示:
- PlaySoundX "DingDong.wav"
 
VB.NET播放WAV的其他方法包括窗體上的多媒體控制。當(dāng)你不需要這些控制特性時,以上講述的技術(shù)已經(jīng)足夠,并且很容易掌握。
【編輯推薦】















 
 
 
 
 
 
 