Apúntate...


Consultas, desarrollo de programas y petición de presupuestos:

Mostrando entradas con la etiqueta wav. Mostrar todas las entradas
Mostrando entradas con la etiqueta wav. Mostrar todas las entradas

miércoles, 3 de diciembre de 2014

Reproducir sonidos en gambas3: el componente gb.sdl.sound

 

Escuchar un fichero .mp3 en gambas3


1) Ejemplo simple para reproducir un .mp3
Pasos a seguir

 1º Tenemos que añadir a nuestro proyecto  el  componente  "gb.sdl.sound"

Menu: Proyecto/Propiedades/Componentes y clickearlo:

Añadiendo el componente gb.sdl.sound a nuestro proyecto
 Esto hace que  tengamos  varias clases con las que podemos reproducir sonidos (verhttp://gambasdoc.org/help/comp/gb.sdl.sound )


2º La que vamos a usar , es la clase  Music (http://gambasdoc.org/help/comp/gb.sdl.sound/music)

 Esta clase tiene el método Load (que es la que se encarga de cargar el archivo .mp3 en la memoria), y Play (que empezará a reproducir el sonido).

Os dejo un ejemplo, donde se escuchará un archivo mp3 al pulsar un botón

Ejemplo:
Public sonido1 As Music

Public Sub Form_Open()
 
  Me.Center
  
End

Public Sub ToolButton1_Click()
  
  Music.load("/tmp/sonido1.mp3")
  Music.play
  
End


 Enlace de descarga: ejemplo completo


2) Reproducir dos sonidos a la vez:  (código proporcionado por abarzuaf )
gambas class file
Private sonido1 As Sound
Private canal1 As Channel
Private sonido2 As Sound
Private canal2 As Channel

Public Sub Form_Open()
Channels.Count = 2 --> Pueden ser hasta 32
canal1 = Channels[0]
canal2 = Channels[1]
sonido1 = New Sound("/ruta/al/archivo/a.wav")
sonido2 = New Sound("/ruta/al/archivo/b.wav")

Slider1.MaxValue = 10 
Slider1.MinValue = 0
Slider1.Value = 10
Slider2.MaxValue = 10
Slider2.MinValue = 0
Slider2.Value = 10
End
Public Sub Button1_Click()
canal1.Volume = 0.0
canal1.play(sonido1)
End

Public Sub Button2_Click()
canal1.Stop()
End

Public Sub Button3_Click()
canal2.Volume = 0.0
canal2.Play(sonido2)

End

Public Sub Button4_Click()
canal2.Stop
End

Public Sub Slider1_Change()
Dim volumen1 As Float

volumen1 = Abs((((Slider1.value) * 0.1) - 1))  
canal1.Volume = volumen1

End

Public Sub Slider2_Change()
Dim volumen2 As Float
volumen2 = Abs((((Slider2.value) * 0.1) - 1))  
canal2.Volume = volumen2
End


Nota:
gb.sdl.sound no permite ejecutar dos .mp3 a la vez, los tienes que convertir al formato .wav:
$ffmpeg -i sonido.mp3 sonido.wav



Fuente:
http://jsbsan.blogspot.com.es/2013/05/escuchar-un-mp3-en-gambas3.html
http://www.gambas-es.org/viewtopic.php?f=8&t=941
http://gambaswiki.org/wiki/comp/gb.sdl.sound

A falta de donativos... un poco de publicidad