API in .NET

PlaySound

If you used VB6 or earlier, then you may have used the API function PlaySound to play a Wave file.
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Long, ByVal dwFlags As Long) As Long
'VB6 code.
When porting this over to .NET, notice that VB.NET's Longs are 64-bit and VB.NET's Integers are 32-bit, the same size as VB6's longs. So, the Long in VB6 code must be converted to an Integer.
Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, _
ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer
'VB.NET code
And, you can call it to play a file the regular way:
PlaySound("C:\freeze.wav", 0, SND_FILENAME Or SND_ASYNC)
You will of course have to declare the constants... they can be found at the PlaySound API link above. Of course, you can put them in a class like the example here.
Public Class Sonic
    Private Declare Function PlaySound Lib "winmm.dll" Alias "PlaySoundA" (ByVal lpszName As String, ByVal hModule As Integer, ByVal dwFlags As Integer) As Integer
    Private Const SND_FILENAME As Integer = &H20000
    Private Const SND_ASYNC As Integer = &H1
    Private Const SND_PURGE As Integer = &h40
    Public Sub PlayQuickWave(ByVal Filename As String)
        PlaySound(Filename, 0, SND_FILENAME Or Snd_ASYNC)
    End Sub
    Public Sub Stopfile()
        PlaySound(String.Empty, 0, SND_PURGE)
    End Sub

End Class