Playing Wav files with .NET






2.38/5 (21 votes)
This article shows a simple and straightforward way to play Wav files in .NET using C#.
Introduction
This article illustrates how simple it is to add sound functionality to any .NET application. I use the PlaySound
Win32 function located in the winmm.dll library. The sample does not include all the different flags associated with fdwSound
; these can be acquired in a number of different ways. Try opening a Managed C++ project and type the PlaySound
function in there. It should give you the signature. For any of the fdwSound
constants, you can type them in, and either hover the mouse over to get the value, or right click and select Go to definition to see where they are defined.
Here is the basic code for it:
//first I define the function
[DllImport("winmm.dll")]
static extern bool PlaySound(string file, int module, int flags );
//then in the click event of the form i specify this
OpenFileDialog media = new OpenFileDialog();
media.RestoreDirectory = true;
if(media.ShowDialog() == DialogResult.OK){
string waveFile = media.FileName;
string extension = System.IO.Path.GetExtension(waveFile);
if(extension.ToLower() == ".wav"){
PlaySound(waveFile,0,0x0008); //yep it's really this simple.
}
}
You could just use the function with zeros for every other parameter:
PlaySound(somefile.wav",0,0);
That's it, you're good to go.