在ACCESS中播放声音文件

Technorati 标签: accESS, 声音

有3种方法。一种是用winmm中的playsound函数,貌似这种只能播放wav文件;一种是用shellexecute;一种是用Microsoft Office 11.0 Object Library里的媒体播放器。我只用了头一种,后两种暂时记录在这里备忘。

第一种:用winmm中的playsound函数

  1. Declare Function apisndPlaySound Lib "winmm" Alias "sndPlaySoundA" (ByVal filename As StringByVal snd_async As LongAs Long 
  2. Function PlaySound(sWavFile As String
  3.     If apisndPlaySound(sWavFile, 1) = 0 Then 
  4.         MsgBox "The Sound Did Not Play!" 
  5.     End If 
  6. End Function

实际播放的时候调用上面这个函数就行:

  1. PlaySound ("C:/WINDOWS/media/CHIMES.WAV")

第二种:用shellexecute。来自这里

  1. Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As LongByVal lpOperation As StringByVal lpFile As StringByVal lpParameters As StringByVal lpDirectory As StringByVal nShowCmd As LongAs Long 
  2. Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As StringByVal lpWindowName As StringAs Long 
  3. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As LongByVal wMsg As LongByVal wParam As Long, lParam As Any) As Long 
  4. Private Const WM_CLOSE = &H10 '关闭 
  5. 'lpOperation可用参数:open、print、find、explore、edit 
  6. 'nShowCmd参数 窗口模式类型声明 
  7. Private Const SW_HIDE = 0 
  8. Private Const SW_SHOWNORMAL = 1 
  9. Private Const SW_SHOWMINIMIZED = 2 
  10. Private Const SW_SHOWMAXIMIZED = 3 
  11. Private Const SW_SHOWNOACTIVATE = 4 
  12. Private Const SW_SHOW = 5 
  13. Private Const SW_MINIMIZE = 6 
  14. Private Const SW_SHOWMINNOACTIVE = 7 
  15. Private Const SW_SHOWNA = 8 
  16. Private Const SW_RESTORE = 9 
  17. Private Sub Command0_Click() 
  18.     '打开并播放 
  19.     ShellExecute Me.hwnd, "open""dj-我说我爱你dj版.mp3""""D:/KUGOO", SW_HIDE 
  20. End Sub 
  21. Private Sub Command1_Click() 
  22.     '关闭 
  23.     Dim hwnd As Long 
  24.     hwnd = FindWindow(vbNullString, "Windows Media Player"
  25.     PostMessage hwnd, WM_CLOSE, 0&, 0& 
  26. End Sub

第三种:用媒体播放器。看这里

你可能感兴趣的:(object,user,Microsoft,Office,Access,library)