Visual Studio .NET 2003Windows 2003.NET 1.1Windows 2000Windows XPIntermediateDevVisual StudioWindows.NETVisual Basic
Play Waves in VB.NET






4.53/5 (23 votes)
Feb 16, 2005

310193

6284
A simple Wave Player class.
Introduction
This is a simple class that shows how to play Wave files in a .NET project, using Windows API. Here, you will find the way to play embedded resources, external files, or Windows system Waves.
Using the code
Using the code is very simple, you have to choose if you want to play a file: Sound.PlayWaveFile("Filename.wav")
, an embedded resource: Sound.PlayWaveResource("Embedded.wav")
, or a system sound: Sound.PlayWaveSystem("SystemExit")
.
...
Public Class Sound
Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
As String, ByVal hmod As Integer, ByVal flags As Integer) As Integer
Declare Auto Function PlaySound Lib "winmm.dll" (ByVal name _
As Byte(), ByVal hmod As Integer, ByVal flags As Integer) As Integer
Public Const SND_SYNC = &H0 ' play synchronously
Public Const SND_ASYNC = &H1 ' play asynchronously
Public Const SND_MEMORY = &H4 'Play wav in memory
Public Const SND_ALIAS = &H10000 'Play system alias wav
Public Const SND_NODEFAULT = &H2
Public Const SND_FILENAME = &H20000 ' name is file name
Public Const SND_RESOURCE = &H40004 ' name is resource name or atom
...
End Class
'Using the code:
Private Sub btnFile_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnFile.Click
'File Located in executable dir, change it if you need
Sound.PlayWaveFile("sn01088a.wav")
End Sub
Private Sub btnEmbed_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnEmbed.Click
'Remeber to include the wave in the project
'and then in the "build action"
'properties set it as: "Embedded Resource"
Sound.PlayWaveResource("The Microsoft Sound.wav")
End Sub
Private Sub btnSystem_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnSystem.Click
'Here some ...
'"SystemQuestion"
'"SystemExclaimation"
'"SystemHand"
'"Maximize"
'"MenuCommand"
'"MenuPopup"
'"Minimize"
'"MailBeep"
'"Open"
'"Close"
'"SystemAsterisk"
'"RestoreUp"
'"RestoreDown"
'"SystemExit"
'"SystemStart"
Sound.PlayWaveSystem("SystemExit")
End Sub
All the job is done by the PlaySound
function.
Points of Interest
This is an "all in one" Sound
class for your .NET applications (File, Resource, System sounds).
History
First release.