1、播放WAV格式文件
要播放WAV格式文件,妳必須在程序窗口的通用聲明部分或標準模塊中添加如下的聲明:
Public Const SND_SYNC = &&H0
Public Const SND_ASYNC = &&H1
Public Const SND_NODEFAULT = &&H2
Public Const SND_MEMORY = &&H4
Public Const SND_ALIAS = &&H10000
Public Const SND_FILENAME = &&H20000
Public Const SND_RESOURCE = &&H40004
Public Const SND_ALIAS_ID = &&H110000
Public Const SND_ALIAS_START = 0
Public Const SND_LOOP = &&H8
Public Const SND_NOSTOP = &&H10
Public Const SND_VALID = &&H1F
Public Const SND_NOWAIT = &&H2000
Public Const SND_VALIDFLAGS = &&H17201F
Public Const SND_RESERVED = &&HFF000000
Public Const SND_TYPE_MASK = &&H170007
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
sndPlaySound函數需要兩個參數:第壹個參數soundfilename是要播放的WAV文件的名稱;第二個參數是壹個表明播放方式的標識常量,其定義的值如前面的聲明所示,通常所使用的標識意義如下:
SND_SYNC播放WAV格式文件,播放完畢後將控制轉移回應用中。
SND_ASYNC播放WAV格式文件,將控制立即轉移回應用程序中,而不管對WAV文件的播放是否結束。
SND_MEMORY用於播放以前已經加載到內存中的WAV格式文件。
SND_LOOP循環播放WAV格式文件。
註意:SND_LOOP標識通常需要同SND_ASYNC***同使用,也即在兩個標識之間添加“與”播放符,以免在對WAV格式文件進行播放的時候將系統掛起。
2、播放MIDI格式文件
播放MIDI格式文件時,妳必須在程序窗口的通用聲明部分中或標準模塊中添加如下的聲明語句:
Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long
API函數mciExecute只有壹個參數:CommandString,它是壹個命令字符串,用於表明對聲音文件播放的命令,例如,要完整播放聲音文件“C:WindowsMediaCanyon.mid”,只需要用以下壹些語句即可實現:
Dim ReturnValue As Long
ReturnSoundValue = mciExecute("play C:WindowsMediaCanyon.mid")
如果只播放MIDI格式文件的部分,就可以使用from...to...這種語句格式,例如:需要播放CANYON.MID文件的20毫秒到500毫秒的部分,可以使用如下的語句:
Dim ReturnValue As Long
ReturnSoundValue = mciExecute("play C: WINDOWS MEDIACANYON.MID from 20 to 500")
使用API函數mciExecute也可以用來對WAV格式文件進行播放,方法同播放MIDI基本壹樣。現舉列如下:
1、在Visual Basic應用窗體中加入以下聲明:
Private Declare Function sndPlaySound Lib "winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Const SND_SYNC = &&H0
Const SND_ASYNC = &&H1
Const SND_NODEFAULT = &&H2
Const SND_MEMORY = &&H4
Const SND_ALIAS = &&H10000
Const SND_FILENAME = &&H20000
Const SND_RESOURCE = &&H40004
Const SND_ALIAS_ID = &&H110000
Const SND_ALIAS_START = 0
Const SND_LOOP = &&H8
Const SND_NOSTOP = &&H10
Const SND_VALID = &&H1F
Const SND_NOWAIT = &&H2000
Const SND_VALIDFLAGS = &&H17201F
Const SND_RESERVED = &&HFF000000
Const SND_TYPE_MASK = &&H170007
Private Declare Function mciExecute Lib "winmm.dll" Alias "mciExecute" (ByVal lpstrCommand As String) As Long
2、在窗中激活事件中加入以下代碼:
Private Sub Form_Activate()
Dim ReturnValue As Long
ReturnValue = sndPlaySound("C:windowsMEDIATADA.WAV",SND_SYNC)End Sub
通過(F5)鍵來運行該程度即可聽到背景音樂。