Reproducción de un archivo MP3 en una aplicación WinForm

Estoy desarrollando una aplicación WinForm . Quiero reproducir un archivo MP3 cuando el usuario hace clic en un botón.

El archivo MP3 se encuentra en el sistema de archivos de la computadora donde se ejecuta la aplicación.
He buscado en Google por un tiempo y he encontrado información sobre la clase System.Media.SoundPlayer . Pero he leído que la clase SoundPlayer solo se puede usar para reproducir archivos en formato .wav.

¿Qué clases se pueden usar para reproducir archivos en formato .mp3?

Cualquier ayuda será apreciada.

El siguiente enlace proporciona un tutorial muy bueno sobre cómo reproducir archivos mp3 desde un formulario de Windows con c #:

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

Este enlace lo llevará a un tema, que contiene mucha información sobre cómo reproducir una canción mp3, utilizando formularios de Windows. También contiene muchos otros proyectos, tratando de lograr lo mismo:

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

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

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

Entonces solo pon el wplayer.Controls.Play (); en el evento Button_Click.

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

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

Pon el jugador.Jugar (); en el evento Button_Click, y funcionará.

1) La forma más simple sería usar 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) Como alternativa, puede usar la biblioteca de código abierto NAudio . Puede reproducir archivos mp3 utilizando diferentes métodos y en realidad ofrece mucho más que solo reproducir un archivo.

Esto es tan simple como

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

No te olvides de tirar después de la parada

 waveOutDevice.Stop(); audioFileReader.Dispose(); waveOutDevice.Dispose(); 
  1. primero ve a las propiedades de tu proyecto
  2. haga clic en agregar referencias
  3. agrega la biblioteca en el objeto COM para el reproductor multimedia de la ventana y luego escribe tu código donde quieras

    Fuente:

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

puede usar la API mciSendString para reproducir un archivo mp3 o 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); 

Refactorización:

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