播放音頻 Access數(shù)據(jù)庫功能模塊講解 VBA代碼實例
模塊
Option Compare Database
Option Explicit
Public filepn As String
Public Declare PtrSafe Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Long, ByVal hwndCallback As Long) As Long
Public Sub MMPlay(ByRef FileName As String)
? ? mciSendString "close " & FileName, vbNullString, 0, 0
? ? mciSendString "open " & FileName, vbNullString, 0, 0
? ? mciSendString "play " & FileName, vbNullString, 0, 0
End Sub
Public Sub MMStop(ByRef FileName As String)
? ? mciSendString "stop " & FileName, vbNullString, 0, 0
? ? mciSendString "close " & FileName, vbNullString, 0, 0
End Sub
播放音頻
Private Sub Command清空列表_Click()
DoCmd.SetWarnings (False)
Dim del_sql As String
del_sql = "Delete From 文件表"
DoCmd.RunSQL del_sql
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Private Sub Command停止_Click()
Call MMStop(filepn)
End Sub
Private Sub Command選擇文件_Click()
On Error Resume Next
Dim vrtSelectedItem
With Application.FileDialog(msoFileDialogFilePicker)
? ? ? ? .AllowMultiSelect = True
? ? ? ? .Filters.Add "音頻文件", "*.MP3", 1
? ? ? ? If .Show = -1 Then
? ? ? ? ? ? For Each vrtSelectedItem In .SelectedItems
? ? ? ? ? ? '獲取文件名和路徑
? ? ? ? ? ? DoCmd.SetWarnings (False)
? ? ? ? ? ? Dim add_sql As String
? ? ? ? ? ? add_sql = "Insert Into 文件表 (文件名稱,文件路徑) Values ('" & 處理文件名(vrtSelectedItem) & "','" & vrtSelectedItem & "')"
? ? ? ? ? ? DoCmd.RunSQL add_sql
? ? ? ? ? ? Next vrtSelectedItem
? ? ? ? Else
? ? ? ? Exit Sub
? ? ? ? End If
End With
Me.數(shù)據(jù)表子窗體.Requery
End Sub
Function 處理文件名(ByVal filepathname As String) As String
On Error Resume Next
處理文件名 = ""
Dim a1 As Long
a1 = InStrRev(filepathname, "\")
處理文件名 = Right(filepathname, Len(filepathname) - a1)
End Function
文件數(shù)據(jù)表
Private Sub 文件名稱_DblClick(Cancel As Integer)
Call MMStop(filepn)
filepn = Me.文件路徑
Call MMPlay(filepn)
End Sub