有3种方法。一种是用winmm中的playsound函数,貌似这种只能播放wav文件;一种是用shellexecute;一种是用Microsoft Office 11.0 Object Library里的媒体播放器。我只用了头一种,后两种暂时记录在这里备忘。
第一种:用winmm中的playsound函数
- Declare Function apisndPlaySound Lib "winmm" Alias "sndPlaySoundA" (ByVal filename As String, ByVal snd_async As Long) As Long
- Function PlaySound(sWavFile As String)
- If apisndPlaySound(sWavFile, 1) = 0 Then
- MsgBox "The Sound Did Not Play!"
- End If
- End Function
实际播放的时候调用上面这个函数就行:
- PlaySound ("C:/WINDOWS/media/CHIMES.WAV")
第二种:用shellexecute。来自这里
- Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
- Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
- Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
- Private Const WM_CLOSE = &H10 '关闭
- 'lpOperation可用参数:open、print、find、explore、edit
- 'nShowCmd参数 窗口模式类型声明
- Private Const SW_HIDE = 0
- Private Const SW_SHOWNORMAL = 1
- Private Const SW_SHOWMINIMIZED = 2
- Private Const SW_SHOWMAXIMIZED = 3
- Private Const SW_SHOWNOACTIVATE = 4
- Private Const SW_SHOW = 5
- Private Const SW_MINIMIZE = 6
- Private Const SW_SHOWMINNOACTIVE = 7
- Private Const SW_SHOWNA = 8
- Private Const SW_RESTORE = 9
- Private Sub Command0_Click()
- '打开并播放
- ShellExecute Me.hwnd, "open", "dj-我说我爱你dj版.mp3", "", "D:/KUGOO", SW_HIDE
- End Sub
- Private Sub Command1_Click()
- '关闭
- Dim hwnd As Long
- hwnd = FindWindow(vbNullString, "Windows Media Player")
- PostMessage hwnd, WM_CLOSE, 0&, 0&
- End Sub
第三种:用媒体播放器。看这里
本文介绍了使用Visual Basic进行音频播放的三种方法:通过winmm库的playsound函数播放wav文件、利用shellexecute函数播放多种格式音频文件及通过Microsoft Office 11.0 Object Library中的媒体播放组件。
1万+

被折叠的 条评论
为什么被折叠?



