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.数据表子窗体.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.数据表子窗体.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 Private Sub 文件名称_DblClick(Cancel As Integer) Call MMStop(filepn) filepn = Me.文件路径 Call MMPlay(filepn) End Sub模块
播放音频
文件数据表