vb.net 播放wav波形声音的类

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

你可能感兴趣的:(.net)