Cómo reproducir un sonido en C #, .NET

Tengo una aplicación de Windows escrita en C # /. NET.

¿Cómo puedo reproducir un sonido específico cuando se hace clic en un botón?

Podrías usar:

System.Media.SoundPlayer player = new System.Media.SoundPlayer(@"c:\mywavfile.wav"); player.Play(); 

Puede usar SystemSound , por ejemplo, System.Media.SystemSounds.Asterisk.Play(); .

Para Windows Forms, una forma es usar SoundPlayer

 private void Button_Click(object sender, EventArgs e) { using (var soundPlayer = new SoundPlayer(@"c:\Windows\Media\chimes.wav")) { soundPlayer.Play(); // can also use soundPlayer.PlaySync() } } 

Página MSDN

Esto también funcionará con WPF, pero tiene otras opciones como usar la página de MediaPlayer MSDN

El código abajo permite reproducir archivos mp3 y archivos de onda en la memoria también

 player.FileName = "123.mp3"; player.Play(); 

de http://alvas.net/alvas.audio,samples.aspx#sample6 o

 Player pl = new Player(); byte[] arr = File.ReadAllBytes(@"in.wav"); pl.Play(arr); 

de http://alvas.net/alvas.audio,samples.aspx#sample7

Información Adicional.

Esta es una respuesta de alto nivel para aplicaciones que desean integrarse perfectamente en el entorno de Windows. Los detalles técnicos de tocar un sonido en particular se proporcionaron en otras respuestas. Además de eso, siempre tenga en cuenta estos dos puntos:

  1. Use cinco sonidos de sistema estándar en escenarios típicos , es decir,

    • Asterisco : juega cuando quieras resaltar el evento actual

    • Pregunta : jugar con preguntas (la ventana del cuadro de mensaje del sistema reproduce esta)

    • Exclamación : juega con el icono de excalamation (la ventana del cuadro de mensaje del sistema reproduce este)

    • Pitido (sonido del sistema predeterminado)

    • Parada crítica (“Mano”): juego con error (la ventana del cuadro de mensaje del sistema reproduce esta)

    Los métodos de la clase System.Media.SystemSounds los reproducirán por usted.

  2. Implemente cualquier otro sonido personalizable por sus usuarios en el panel de control de Sonido

    • De esta manera, los usuarios pueden cambiar o eliminar fácilmente sonidos de su aplicación y no es necesario que escriba ninguna interfaz de usuario para esto, ya está allí
    • Cada perfil de usuario puede anular estos sonidos de su propia manera
    • Cómo:
      • Cree el perfil de sonido de su aplicación en el Registro de Windows (Sugerencia: no necesita progtwigción, simplemente agregue las claves al instalador de su aplicación).
      • En su aplicación, lea la ruta del archivo de sonido o el recurso DLL desde sus claves de registro y reprodúzcalo. (Cómo reproducir sonidos que puede ver en otras respuestas).

Para reproducir un archivo de audio en el formulario de Windows con C #, verifiquemos un ejemplo simple de la siguiente manera:

1. Vaya a Visual Studio (VS-2008/2010/2012) -> Menú Archivo -> haga clic en Nuevo proyecto.

2.En el Proyecto nuevo -> haga clic en Aplicación de Windows Forms -> Dar nombre y luego haga clic en Aceptar.

Se abrirá un nuevo proyecto de “Windows Forms”.

3. Deslice y suelte un control de botón de la Caja de herramientas a Windows Form.

4. Haga doble clic en el botón para crear automáticamente el controlador de eventos Click predeterminado y agregue el siguiente código.

Este código muestra el cuadro de diálogo Abrir archivo y pasa los resultados a un método llamado “playSound” que creará en el siguiente paso.

  OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "Audio Files (.wav)|*.wav"; if(dialog.ShowDialog() == DialogResult.OK) { string path = dialog.FileName; playSound(path); } 

5. Agregue el siguiente código de método debajo del botón1_Click evento hander.

  private void playSound(string path) { System.Media.SoundPlayer player = new System.Media.SoundPlayer(); player.SoundLocation = path; player.Load(); player.Play(); } 

6. Ahora ejecutemos la aplicación simplemente presionando F5 para ejecutar el código.

7. Haga clic en el botón y seleccione un archivo de audio. Después de que el archivo se carga, el sonido se reproducirá.

Espero que este sea un ejemplo útil para principiantes …