play - Cómo reproducir un sonido en C#,.NET
naudio c# (6)
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?
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:
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.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 programació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).
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);
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()
}
}
Esto también funcionará con WPF, pero tiene otras opciones como usar la página de MediaPlayer
MSDN
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 ...
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();
.