Nov 23 2008

C# Reproducir un fichero wav (SoundPlayer)

Category: ProgramacionIndigo @ 4:54 PM

Uno de los motivos por lo que he estado tanto tiempo sin actualizar el blog es porque he estado metido en una puesta de producción dondo todo lo que ha podido ir mal, ha ido mal (siempre se cumplen la leyes de Murphy). Una de las cosas que se cambiaron a última hora, fueron unas notificaciones sonoras en muchas partes del programa. Yo tenía un código relativamente antiguo para reproducir un sonido.

[sourcecode language="csharp"]public int SND_ASYNC = 0×0001; // play asynchronously
public int SND_FILENAME = 0×00020000; // use file name
public int SND_PURGE = 0×0040; // purge non-static events

[System.Runtime.InteropServices.DllImport("WinMM.dll")]
public static extern bool PlaySound(string fname, int Mod, int flag);

private void button1_Click(object sender, EventArgs e)
{
PlaySound(”tada.wav”, 0, SND_FILENAME | SND_ASYNC);
}[/sourcecode]

Este código funciona perfectamente, pero nunca me ha gustado usar este tipo de codigo usando liberirías externas. Mirando en la MSDN encontré otra solución que me parece muchísimo mejor. Resulta que desde .NET 2.0 tenemos la clase SoundPlayer en el espacio de nombre System.Media que nos ayuda perfectamente a reproducir un sonido. El código para ésto es así de fácil

[sourcecode language="csharp"]private void button2_Click(object sender, EventArgs e)
{
System.Media.SoundPlayer soundPlayer = new System.Media.SoundPlayer();
soundPlayer.SoundLocation = “tada.wav”;
soundPlayer.Play();
}[/sourcecode]

Tenemos más información sobre esta clase en http://msdn.microsoft.com/en-us/library/system.media.soundplayer(VS.80).aspx

¡Compartelo!
  • Digg
  • del.icio.us
  • Facebook
  • Google Bookmarks
  • Add to favorites
  • BarraPunto
  • Bitacoras.com
  • LinkedIn
  • Meneame
  • RSS
  • Technorati
  • Twitter

Tags: ,

3 Responses to “C# Reproducir un fichero wav (SoundPlayer)”

  1. Bernabe says:

    Muy buena la informacion, ultimamente tenemos al alcance de la mano muchisimas cosas que nos simplifican la labor de programar. Felicitaciones por la pagina. Saludos

  2. Jesús Bosch says:

    Interesante artículo. La verdad es que no hay demasiada documentación sobre el tema.

    Un saludo

  3. jorge says:

    Tenia la solucion pero era utilizando librerias externas, de maravilla la clase SoundPlayer.

    gracias, justo lo que buscaba.