Click here to Skip to main content
14,330,512 members

Playing Wav files with .NET

Rate this:
2.38 (21 votes)
Please Sign up or sign in to vote.
2.38 (21 votes)
26 Jan 2004CPOL
This article shows a simple and straightforward way to play Wav files in .NET using C#.


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
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:


That's it, you're good to go.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Edward Moemeka
United States United States
Hi I'm Edward Moemeka,
For more interesting articles about stuff check out my blog at
To correspond, email me at
To support my company, thus help me feed my family, check out our awesome online preview at Remember, its in alpha Wink | ;-)

Comments and Discussions

-- There are no messages in this forum --
Posted 26 Jan 2004


17 bookmarked