Esta es la respuesta perfecta porque un nuevo usuario puede entender que SoundPlayer pertenece a System.Media ....
Khilen Maniyar
30
@Ali ... stackoverflow.com/questions/2361857/what-does-means-in-c-sharp "Significa interpretar la siguiente cadena como literal. Es decir, la \ en la cadena será realmente una" \ "en el salida, en lugar de tener que poner "\\" para significar el carácter literal "
Praveen
La respuesta de @ Praveen acaba de dar otro hecho informativo. Gracias a Dexter por preguntar ese símbolo "@".
Allen Linatoc
2
@bporter, esto no parece funcionar con archivos mp3; está restringido solo al formato wav
Najeeb
¡Qué pena esta API! No reproduce archivos MP3 ni MIDI. Completamente inútil para mí. Windows tiene soporte nativo para MP3 y MIDI desde al menos Windows XP. ¡Qué vergüenza en Microsoft!
Elmue
91
Puede utilizar SystemSound , por ejemplo, System.Media.SystemSounds.Asterisk.Play();.
muy útil. Puede ayudar usar los valores predeterminados del sistema.
Babak.Abad
44
Es importante tener en cuenta que si desactiva los sonidos del sistema en la configuración de Windows (al menos Windows más reciente), no reproduce nada.
Artholl
32
Para Windows Forms, una forma es utilizar el SoundPlayer
privatevoidButton_Click(object sender,EventArgs e){
using (var soundPlayer =newSoundPlayer(@"c:\Windows\Media\chimes.wav")){
soundPlayer.Play();// can also use soundPlayer.PlaySync()}}
Aún mejor, en el código de producción, créelo solo una vez y úselo muchas veces en lugar de crearlo cada vez que presione el botón.
Shibumi
Cambiaría el nombre de esa función a ButtonClick, simplemente porque parece que sigue el estilo de C # nombrando más.
Ethan Bierlein
1
@EthanBierlein: probablemente fue la convención de nombres cuando
publiqué
1
Huh Entonces, ¿esa era la antigua convención?
Ethan Bierlein
@EthanBierlein sigue siendo lo que se genera automáticamente mediante los proyectos de formularios de Windows de Visual Studio
JAD
13
Información Adicional.
Esta es una respuesta de alto nivel para aplicaciones que desean encajar perfectamente en el entorno de Windows.Los detalles técnicos de la reproducción de un sonido particular se proporcionaron en otras respuestas. Además de eso, siempre tenga en cuenta estos dos puntos:
Use cinco sonidos estándar del sistema 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 excalamación (la ventana del cuadro de mensaje del sistema reproduce este)
Bip (sonido predeterminado del sistema)
Parada crítica ("Mano"): juega con error (la ventana del cuadro de mensaje del sistema reproduce esta)
Implemente cualquier otro sonido que sus usuarios puedan personalizar en Sound panel de control de
De esta forma, los usuarios pueden cambiar o eliminar fácilmente los sonidos de su aplicación y no necesita escribir ninguna interfaz de usuario para esto: ya está allí
Cada perfil de usuario puede anular estos sonidos a su manera
En su aplicación, lea la ruta del archivo de sonido o el recurso DLL de sus claves de registro y reprodúzcalo. (Cómo reproducir sonidos que puedes ver en otras respuestas).
Gracias por esta información extra. Me gustaría agregar un ejemplo: System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);reproduce el sonido Hand . Tenga en cuenta que se reproduce de forma asincrónica, aquí agregué un comando de suspensión para esperar la finalización del sonido. Si no espera y reproduce otro sonido, el anterior se detiene inmediatamente.
Matt
8
El código de abajo también permite reproducir archivos mp3 y archivos wave en memoria
Creo que primero debe agregar un archivo .wav a Recursos. Por ejemplo, tiene un archivo de sonido llamado Sound.wav. Después de agregar el archivo Sound.wav a Recursos, puede usar este código:
System.Media.SoundPlayer player =newSystem.Media.SoundPlayer(Properties.Resources.Sound);
player.Play();
Puede utilizar SystemSound , por ejemplo,
System.Media.SystemSounds.Asterisk.Play();
.fuente
Para Windows Forms, una forma es utilizar el
SoundPlayer
Página de MSDN
Esto también funcionará con WPF, pero tiene otras opciones como usar la
MediaPlayer
página MSDNfuente
ButtonClick
, simplemente porque parece que sigue el estilo de C # nombrando más.Información Adicional.
Esta es una respuesta de alto nivel para aplicaciones que desean encajar perfectamente en el entorno de Windows.Los detalles técnicos de la reproducción de un sonido particular se proporcionaron en otras respuestas. Además de eso, siempre tenga en cuenta estos dos puntos:
Use cinco sonidos estándar del sistema 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 excalamación (la ventana del cuadro de mensaje del sistema reproduce este)
Bip (sonido predeterminado del sistema)
Parada crítica ("Mano"): juega con error (la ventana del cuadro de mensaje del sistema reproduce esta)
Los métodos de clase
System.Media.SystemSounds
los jugarán por ti.Implemente cualquier otro sonido que sus usuarios puedan personalizar en Sound panel de control de
fuente
System.Media.SystemSounds.Hand.Play(); Thread.Sleep(2000);
reproduce el sonido Hand . Tenga en cuenta que se reproduce de forma asincrónica, aquí agregué un comando de suspensión para esperar la finalización del sonido. Si no espera y reproduce otro sonido, el anterior se detiene inmediatamente.El código de abajo también permite reproducir archivos mp3 y archivos wave en memoria
de http://alvas.net/alvas.audio,samples.aspx#sample6 o
de http://alvas.net/alvas.audio,samples.aspx#sample7
fuente
Para reproducir un archivo de audio en el formulario de Windows usando C #, veamos 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 formularios Windows Forms -> Dar nombre y luego haga clic en Aceptar.
Se abrirá un nuevo proyecto de "Formularios de Windows".
3.Arrastre y suelte un control de botón desde el cuadro de herramientas al formulario de Windows.
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.
5. Agregue el siguiente código de método debajo del botón1_Haga clic en el controlador de eventos.
6. Ahora ejecutemos la aplicación simplemente presionando el F5 para ejecutar el código.
7. Haga clic en el botón y seleccione un archivo de audio. Después de cargar el archivo, se reproducirá el sonido.
Espero que este sea un ejemplo útil para principiantes ...
fuente
Creo que primero debe agregar un archivo .wav a Recursos. Por ejemplo, tiene un archivo de sonido llamado Sound.wav. Después de agregar el archivo Sound.wav a Recursos, puede usar este código:
Esta es otra forma de reproducir sonido.
fuente