Search code examples
c#.netwinformsmp3

Playing a MP3 file in a WinForm application


I am developing a WinForm application. I want to play a MP3 file when the user clicks a button.

The MP3 file is located in the file system of the computer where the application is executed.
I have Googled for a while and I have found information about the System.Media.SoundPlayer class. But I have read that the SoundPlayer class can only be used to play files in .wav format.

What classes can be used to play files in .mp3 format ?

Any help will be greatly appreciated.


Solution

  • The link below, gives a very good tutorial, about playing mp3 files from a windows form with c#:

    http://www.daniweb.com/software-development/csharp/threads/292695/playing-mp3-in-c

    This link will lead you to a topic, which contains a lot information about how to play an mp3 song, using Windows forms. It also contains a lot of other projects, trying to achieve the same thing:

    http://social.msdn.microsoft.com/forums/en-US/csharpgeneral/thread/3dbfb9a3-4e14-41d1-afbb-1790420706fe

    For example use this code for .mp3:

    WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer();
    
    wplayer.URL = "My MP3 file.mp3";
    wplayer.Controls.Play();
    

    Then only put the wplayer.Controls.Play(); in the Button_Click event.

    For example use this code for .wav:

    System.Media.SoundPlayer player = new System.Media.SoundPlayer();
    
    player.SoundLocation = "Sound.wav";
    player.Play();
    

    Put the player.Play(); in the Button_Click event, and it will work.