VB.NET中聲音的播放由VB6升級為.NET後,有些人不清楚聲音的處理,比如程式出錯的時候,自訂一個聲音播放,或者程式的背景音樂、包括遊戲音樂等等。下面介紹幾種在VB.NET中計較簡單可以實現的方案: 1. Beep最簡單的一種方法,通過電腦的擴音器發出聲響,聲響的音高與期間取決於硬體和系統軟體,從而隨電腦不同而不同。Beepg跟Msgbox等方法位於Microsoft.VisualBasic.Interaction 中,一般預設系統會自動載入。調用很簡單,看下面的例子。Dim I As IntegerFor I = 1 To 100 ' Loop 100 times. Beep() ' Sound a tone.Next I
2.用Win32 API
PlaySoundPlaySound位於"winmm.dll"中,可以根據輸入參數的不同,播放WAV類型的音樂。在VB.NET中調用跟VB6中差不多:先聲明:Private Declare Auto Function PlaySound Lib "winmm.dll" (ByVal lpszSoundName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer Const SND_FILENAME As Integer = &H20000Const SND_ALIAS As Integer = &H10000Const SND_SYNC As Integer = &H0具體還有很多常量,不一一列舉,下面是播放一個wav檔案的例子Dim mstrfileName As String = "c:/eagle2.wav"PlaySound(mstrfileName, 0, SND_FILENAME) 注意上面的播放是非同步的,就是說它並不會播放完畢才結束。如果把上面的代碼寫在一個Button.Click的事件處理常式中,第二次點擊的時候它會打斷第一次的播放,重新開始。 當然我們也可以調用系統的聲音:PlaySound("SystemStart", 0, SND_ALIAS Or SND_SYNC)' 以同步的方式調用系統啟動時候的聲音。 3. 調用媒體播放器控制項 VB.NET中並沒有提供媒體播放器的.NET組件,沒辦法我們還是調用以前Com組件Windows Media Player。當然除了聲音外,還可以播放視頻檔案。首先把媒體播放器控制項加到工具列中,調用還是簡單的寫一下吧:) Private Sub playMediaFile(ByVal mediaFileName As String) With MediaPlayer1 .Stop() .FileName = "c:/mp3/愛不愛我.mp3" .Play() End WithEnd Sub 總結:雖然VB.NET比VB6改變了很多,包括真正的OOP,多線程等等,但是總歸還是跟VB有很多聯絡,建議大家碰到難於解決的問題的時候,試一下以前的處理方式,一般都能奏效。