Imports System.IO
Public Class Player
Private Declare Function sndPlaySound Lib "Winmm.dll" Alias "sndPlaySoundA" (ByVal lpszSoundName As String, ByVal uFlags As Long) As Long
Public Event play_Complete(Result As Long)
Public Event play_Error(Msg As String)
Sub New()
End Sub
Sub play(Sound As String)
Dim result As Long
If File.Exists(Sound) = False Then
RaiseEvent play_Error("没有找到声音文件")
Exit Sub
End If
Try
result = sndPlaySound(Sound, 1)
RaiseEvent play_Complete(result)
Catch ex As Exception
RaiseEvent play_Error(ex.Message)
End Try
End Sub
End Class
调用方法:
'实例化对象,带事件
Dim WithEvents player As New Player
'播放声音:
player.Play(声音文件的路径)
'事件
Private Sub player_play_Complete(Result As Long) Handles player.play_Complete
Debug.Print("播放完毕。" & Result)
End Sub
Private Sub player_play_Error(Msg As String) Handles player.play_Error
Debug.Print("播放出错" & Msg)
End Sub