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
本文介绍了一个使用VB.NET编写的简单声音播放器类。该类通过调用Winmm.dll库中的sndPlaySoundA函数实现声音文件播放,并包含了错误处理机制。文章提供了如何实例化对象并触发播放事件的示例。

817

被折叠的 条评论
为什么被折叠?



