Asunto: Generar sonido con frecuencia duración personalizadas VB.Net
Estoy desarrollando un programa con Visual Basic .Net de Microsoft Visual Studio 2010, necesito ejecutar un sonido con una duración y una frecuencia personalizadas (que el usuario pueda cambiarlas) ¿cómo puedo hacer esto?
Publicado:
Vie Nov 18, 2011 6:30 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
varios escribió:
Estoy desarrollando un programa con Visual Basic .Net de Microsoft Visual Studio 2010, necesito ejecutar un sonido con una duración y una frecuencia personalizadas (que el usuario pueda cambiarlas) ¿cómo puedo hacer esto?
Puedes usar la función del API de Window Beep, a continuación mostramos un ejemplo de uso para generar un sonido de frecuencia 500 y duración 1000 (un segundo):
Código:
Public Class formGenerarSonidoFrecuencaVB
'Declaración de la función del API de Windows
Private Declare Function Beep Lib "kernel32" ( _
ByVal soundFrequency As Int32,
ByVal soundDuration As Int32) As Int32
Private Sub btGenerarSonido_Click(sender As System.Object,
e As System.EventArgs) Handles Button1.Click
Beep(500, 1000)
End Sub
End Class
Donde "500" será la frecuencia y "1000" será la duración, estos valores los cambiarás por los valores introducidos por el usuario en tu formulario.
Publicado:
Vie Nov 18, 2011 6:34 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
alonsojpd escribió:
Puedes usar la función del API de Window Beep, a continuación mostramos un ejemplo de uso para generar un sonido de frecuencia 500 y duración 1000 (un segundo):
Código:
Public Class formGenerarSonidoFrecuencaVB
'Declaración de la función del API de Windows
Private Declare Function Beep Lib "kernel32" ( _
ByVal soundFrequency As Int32,
ByVal soundDuration As Int32) As Int32
Private Sub btGenerarSonido_Click(sender As System.Object,
e As System.EventArgs) Handles Button1.Click
Beep(500, 1000)
End Sub
End Class
Donde "500" será la frecuencia y "1000" será la duración, estos valores los cambiarás por los valores introducidos por el usuario en tu formulario.
Ok, pero ¿por dónde suena esto? ¿por el altavoz interno? ¿por la tarjeta de sonido? uso el programa en equipos con Windows 7.
Publicado:
Vie Nov 18, 2011 7:07 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
varios escribió:
Ok, pero ¿por dónde suena esto? ¿por el altavoz interno? ¿por la tarjeta de sonido? uso el programa en equipos con Windows 7.
En Windows 7, el Beep, si tienes tarjeta de sonido y el volumen de los sonidos del sistema activado sonará por el altavoz normal de tu PC, el conectado a la tarjeta de sonido. Si tu PC tiene altavoz interno (de placa base) también sonará por ahí.
Publicado:
Vie Nov 18, 2011 7:24 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
alonsojpd escribió:
En Windows 7, el Beep, si tienes tarjeta de sonido y el volumen de los sonidos del sistema activado sonará por el altavoz normal de tu PC, el conectado a la tarjeta de sonido. Si tu PC tiene altavoz interno (de placa base) también sonará por ahí.
¿Se puede generar o reproducir el sonido por defecto de Windows cuando aparece una ventana de exclamación? es decir ¿se puede reproducir desde mi aplicación VB.Net el sonido por defecto asignado para la Combinación de sonidos actual del PC de, por ejemplo, Asterisco?
Publicado:
Vie Nov 18, 2011 7:44 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
varios escribió:
¿Se puede generar o reproducir el sonido por defecto de Windows cuando aparece una ventana de exclamación? es decir ¿se puede reproducir desde mi aplicación VB.Net el sonido por defecto asignado para la Combinación de sonidos actual del PC de, por ejemplo, Asterisco?
Sí es posible, para ello puedes usar este código VB.Net:
Código:
Imports System.Media
Public Class formReproducirSonidoWindows
Private Sub btReproducirSonido_Click(sender As System.Object,
e As System.EventArgs) Handles Button1.Click
SystemSounds.Asterisk.Play()
End Sub
End Class
Como puedes ver en el código, hemos reproducido "Asterisk", puedes ejecutar también Beep, Exclamation, Hand y Question. Por supuesto, al usar esta función, ten en cuenta que utilizará la configuración del usuario para la combinación de sonidos, si el usuario ha seleccionado "Sin sonidos", no sonará nada.
Publicado:
Vie Nov 18, 2011 7:48 pm
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
alonsojpd escribió:
Sí es posible, para ello puedes usar este código VB.Net:
Código:
Imports System.Media
Public Class formReproducirSonidoWindows
Private Sub btReproducirSonido_Click(sender As System.Object,
e As System.EventArgs) Handles Button1.Click
SystemSounds.Asterisk.Play()
End Sub
End Class
Como puedes ver en el código, hemos reproducido "Asterisk", puedes ejecutar también Beep, Exclamation, Hand y Question. Por supuesto, al usar esta función, ten en cuenta que utilizará la configuración del usuario para la combinación de sonidos, si el usuario ha seleccionado "Sin sonidos", no sonará nada.
Ok, funciona perfecto.
Otra duda ¿cómo se puede reproducir un fichero de audio wav con Visual Basic .Net VB.Net?
Publicado:
Vie Nov 18, 2011 8:14 pm
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Generar sonido con frecuencia duración personalizadas VB
Anuncios
varios escribió:
Ok, funciona perfecto.
Otra duda ¿cómo se puede reproducir un fichero de audio wav con Visual Basic .Net VB.Net?
Puedes usar el procedimiento My.Computer.Audio.Play, sería algo así:
Código:
Public Class formReproducirSonidoFicheroAudioVB
Private Sub btReproducirAudio_Click(sender As System.Object, e As System.EventArgs) Handles btReproducirAudio.Click
If System.IO.File.Exists(txtFicheroAudio.Text) Then
My.Computer.Audio.Play(txtFicheroAudio.Text, AudioPlayMode.Background)
Else
MsgBox("Fichero de audio no encontrado.", MsgBoxStyle.OkOnly + MsgBoxStyle.Exclamation)
End If
End Sub
Private Sub btDetenerReproduccion_Click(sender As System.Object, e As System.EventArgs) Handles btDetenerReproduccion.Click
My.Computer.Audio.Stop()
End Sub
End Class
En el formulario tendrías que poner un cuadro de texto para introducir el fichero de audio a reproducir y dos botones, uno para reproducirlo y otro para detenerlo (si quieres). Te hemos puesto el código de ejemplo VB.Net para reproducir y para detener un sonido.
Ten en cuenta que el procedimiento "AudioPlayMode" tiene tres posibilidades:
1. Background: reproducirá el sonido en segundo plano, mientras se reproduce si puede seguir interactuando con la aplicación. El sonido dejará de sonar cuando finalice, cuando se cierre la aplicación o cuando se pulse el botón DetenerReproduccion.
2. BackgroundLoop: igual que el anterior, con la diferencia de que el sonido se repetirá indefinidamente mientras no se pulse el botón DetenerReproduccion o se cierre la aplicación.
3. WaitToComplete: con este método, el sonido se reproducirá y, hasta que no acabe, no se podrá interactuar con la aplicación, ni siquiera cerrarla.
Publicado:
Vie Nov 18, 2011 8:22 pm
Pedroangm Usuario
Registrado: Jan 19, 2012 Mensajes: 1
Asunto: Nivel de audio de salid
Saludos amigos, he estado buscando y este tema me parece cercano a lo que quiero hacer y no he encontrado cómo.
Necesito ayuda para saber el nivel de audio de la música que sale por la tarjeta de sonido, midiendo este valor pudiera hacer una cadena de leds que se mueva rítmicamente con la música.
Porfa ayúdenme... saludos cordiales
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A