VB.NET編程語言可以說功能是非常強大的。而且其的應(yīng)用范圍也是很廣泛。比如對界面的操作,和對聲音的操作等等。我們今天將會了解到有關(guān)VB.NET播放WAV的相關(guān)應(yīng)用技巧,希望能給大家大帶來希望。
Wednesday, September 24 2003 1:24 PM 當一定事件完成時,程序發(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ù)如何工作的標記。
為了當前的需要,必須需要兩個標記。它們是:
SND_ASYNC (value= 1):以異步方式運行,這意味著當播放聲音時函數(shù)在運行。
SND_FILENAME (value = &H20000):第一個變量為一個文件名。
所以,以下VB.NET播放WAV代碼播放了DingDong.wav文件中的聲音:
- PlaySound "dingdong.
wav", CLng(0), _- SND_ASYNC Or SND_FILENAME
當運行在一個程序中運行音頻文件時,還有其他兩點值得注意。第一,你必須確保一個特定的音頻文件存在,否則會產(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的其他方法包括窗體上的多媒體控制。當你不需要這些控制特性時,以上講述的技術(shù)已經(jīng)足夠,并且很容易掌握。
【編輯推薦】