Reproduzindo um arquivo MP3 em um aplicativo WinForm

Estou desenvolvendo um aplicativo WinForm . Eu quero jogar um arquivo MP3 quando o usuário clica em um botão.

O arquivo MP3 está localizado no sistema de arquivos do computador em que o aplicativo é executado.
Eu pesquisei por algum tempo e encontrei informações sobre a class System.Media.SoundPlayer . Mas eu li que a class SoundPlayer só pode ser usada para reproduzir arquivos no formato .wav.

Quais classs podem ser usadas para reproduzir arquivos no formato .mp3?

Qualquer ajuda será muito apreciada.

O link abaixo, dá um tutorial muito bom, sobre a reprodução de arquivos mp3 a partir de um formulário do windows com c #:

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

Este link levará você a um tópico que contém muitas informações sobre como reproduzir uma música mp3 usando os formulários do Windows. Ele também contém muitos outros projetos, tentando alcançar a mesma coisa:

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

Por exemplo, use este código para .mp3:

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

Então só coloque o wplayer.Controls.Play (); no evento Button_Click.

Por exemplo, use este código para .wav:

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

Coloque o player.Play (); no evento Button_Click, e vai funcionar.

1) A maneira mais simples seria usar o WMPLib

 WMPLib.WindowsMediaPlayer Player; private void PlayFile(String url) { Player = new WMPLib.WindowsMediaPlayer(); Player.PlayStateChange += Player_PlayStateChange; Player.URL = url; Player.controls.play(); } private void Player_PlayStateChange(int NewState) { if ((WMPLib.WMPPlayState)NewState == WMPLib.WMPPlayState.wmppsStopped) { //Actions on stop } } 

2) Alternativamente, você pode usar o NAudio da biblioteca de código aberto. Ele pode reproduzir arquivos mp3 usando methods diferentes e realmente oferece muito mais do que apenas reproduzir um arquivo.

Isso é tão simples quanto

 using NAudio; using NAudio.Wave; IWavePlayer waveOutDevice = new WaveOut(); AudioFileReader audioFileReader = new AudioFileReader("Hadouken! - Ugly.mp3"); waveOutDevice.Init(audioFileReader); waveOutDevice.Play(); 

Não esqueça de descartar após a parada

 waveOutDevice.Stop(); audioFileReader.Dispose(); waveOutDevice.Dispose(); 
  1. primeiro vá para as propriedades do seu projeto
  2. clique em adicionar referências
  3. adicione a biblioteca sob o object COM para o media player da janela e digite seu código onde quiser

    Fonte:

      WMPLib.WindowsMediaPlayer wplayer = new WMPLib.WindowsMediaPlayer(); wplayer.URL = @"C:\Users\Adil M\Documents\Visual Studio 2012\adil.mp3"; wplayer.controls.play(); 

você pode usar a API mciSendString para reproduzir um arquivo mp3 ou wav como este

 [DllImport("winmm.dll")] public static extern uint mciSendString( string lpstrCommand, lpstrReturnString, uint uReturnLength, uint hWndCallback); mciSendString(@"close temp_alias", null, 0, 0); mciSendString(@"open ""music.mp3"" alias temp_alias", null, 0, 0); mciSendString("play temp_alias repeat", null, 0, 0); 

Refatoração:

 new WindowsMediaPlayer() { URL = "MyMusic.mp3" }.controls.play();