Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Android / Reproducción de sonidos con LibGDX

Reproducción de sonidos con LibGDX

Autor jc mouse miércoles, septiembre 11, 2013

LibGDX nos permite hacer uso de archivos de sonido muy fácilmente, cuenta con dos tipos de manejo de archivos, estos son:

Sound: Carga sonidos cortos y que se repiten muchas veces, por ejemplos disparos, gritos, explosiones, etc

Music: Sirve para archivos mas grandes, por ejemplo la música de fondo.

Para cargar un archivo SOUND se utiliza la forma:

sound = Gdx.audio.newSound( Gdx.files.getFileHandle("sound/warning.wav", FileType.Internal) );

Para cargar un archivo MUSIC:

music = Gdx.audio.newMusic(Gdx.files.getFileHandle("music/gd.wav", FileType.Internal));

Los archivos de audio, se colocan en la carpeta ASSETS, se debe también eliminar estos con el método dispose()

music.dispose();
sound.dispose();

para reproducir tanto los archivos SOUND y MUSIC, se hace uso del método play().

A continuación un ejemplo de como usarlos en nuestras aplicaciones android:

01 package com.bolivia.libgdxaudio;
02 
03 import java.util.Random;
04 import android.util.Log;
05 import com.badlogic.gdx.ApplicationListener;
06 import com.badlogic.gdx.Files.FileType;
07 import com.badlogic.gdx.Gdx;
08 import com.badlogic.gdx.InputProcessor;
09 import com.badlogic.gdx.audio.Music;
10 import com.badlogic.gdx.audio.Sound;
11 import com.badlogic.gdx.graphics.GL10;
12 /**
13  * @author Mouse
14  * @web https://www.jc-mouse.net/
15  * */
16 public class MyGame implements ApplicationListener,InputProcessor  {
17 
18  private Sound sound[] = new Sound[3];
19  private Music music;
20  private float volume = 0.5f;
21  
22  @Override
23  public void create() {  
24   //
25   sound[0] = Gdx.audio.newSound( Gdx.files.getFileHandle("sound/warning.wav", FileType.Internal) );
26   sound[1] = Gdx.audio.newSound( Gdx.files.getFileHandle("sound/water.wav", FileType.Internal) );
27   sound[2] = Gdx.audio.newSound( Gdx.files.getFileHandle("sound/chafez.wav", FileType.Internal) );
28   // 
29   music = Gdx.audio.newMusic(Gdx.files.getFileHandle("music/gd.wav", FileType.Internal));
30   music.setVolume(volume);
31   music.play(); 
32   music.setLooping(true);
33   //se registra InputProcessor
34   Gdx.input.setInputProcessor(this);
35  }
36 
37  @Override
38  public void dispose() { 
39   //se elimina recursos
40   music.dispose(); 
41   sound[0].dispose();
42   sound[1].dispose();
43   sound[2].dispose();
44  }
45 
46  @Override
47  public void pause() { /* ... */ }
48 
49  @Override
50  public void render() {
51   //pinta un fondo rojo o.O
52   Gdx.gl.glClearColor(1,0,0, 1);
53   Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT); 
54  }
55 
56  @Override
57  public void resize(int arg0, int arg1) { /* ... */ }
58 
59  @Override
60  public void resume() { /* ... */ }
61 
62  /* ====== Metodos de InputProcessor ====== */
63  @Override
64  public boolean keyDown(int arg0) {
65   return false;
66  }
67 
68  @Override
69  public boolean keyTyped(char arg0) {
70   return false;
71  }
72 
73  @Override
74  public boolean keyUp(int arg0) {
75   return false;
76  }
77 
78  @Override
79  public boolean mouseMoved(int arg0, int arg1) {
80   return false;
81  }
82 
83  @Override
84  public boolean scrolled(int arg0) {
85   return false;
86  }
87 
88  @Override
89  public boolean touchDown(int x, int y, int pointer, int newParam) {
90   //se genera numero al azar
91   Random r = new Random();
92   int n = r.nextInt(3);
93   Log.i("Sonido LibGDX", "sonido con id #" + n);
94   sound[n].play(1f);//reproduce sonido
95   return false;
96  }
97 
98  @Override
99  public boolean touchDragged(int arg0, int arg1, int arg2) {
100   return false;
101  }
102 
103  @Override
104  public boolean touchUp(int arg0, int arg1, int arg2, int arg3) {
105   return false;
106  }
107 
108 }

En clase anterior “MyGame.java“, se implementa tanto Sound como Music, la aplicación, una vez se ejecute, reproducirá una música de fondo que esta declarada en MUSIC y también, carga en un array de tipo Sound[], tres archivos los cuales serán producidos cuando se toque a pantalla del dispositivo.

Descargate el proyecto completo LibGDXAudio + los recursos utilizados en este enlace pobretón

enjoy!!! 🙂

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Introducción a la internacionalización de aplicaciones

Introducción a la internacionalización de aplicaciones

La internacionalización permite a las aplicaciones adaptarse a los diferentes idiomas y regiones sin necesidad de cambio...

Fragmentos dinamicos y eventos de usuario

Fragmentos dinamicos y eventos de usuario

Continuando con los tutoriales sobre fragmentos en android, en esta oportunidad veremos como añadir Fragments dinámicame...

Crea patrón de desbloqueo para tus app java

Crea patrón de desbloqueo para tus app java

El patrón de desbloqueo es una medida de seguridad que tienen algunos teléfonos inteligentes para evitar el acceso al di...

Hangman: El juego del ahorcado en java

Hangman: El juego del ahorcado en java

El Juego del ahorcado o Hangman, es un clásico juego de mesa que consiste en adivinar la palabra secreta, si no lo consi...

Renombrar atributos JSON con GSON

Renombrar atributos JSON con GSON

Si quieres cambiar el nombre de tus atributos sin tener que reescribir código java por X o Y razón, GSON te permite reno...

Plantilla android de aviso de página en construcción

Plantilla android de aviso de página en construcción

Cuando tenemos dominio web pero aun no tenemos el contenido listo es común colocar en su lugar una simple web de aviso q...

4 comentarios en “Reproducción de sonidos con LibGDX”

  1. Elviruzexe dice:

    jaajjajajjaajjaa la neta ni lo lei, pero estan buenos los ejemplos nacos ahhaha uds bieeeeeeeeen!

  2. Dreiko dice:

    ola sabes que quisiera cargar la jtable con datos desde una base de dato..lo cual puedo hacerlo…pero ademas quisiera agregarle un jcheckbox…y no e logrado adaptar este codigo

  3. luke dice:

    gracias me servio de ayuda

  4. ola.. necesito una ayuda pero ahora mismo.. es que necesito que me des una ayuda de como puedo programar de una manera mas fácil para hacer mover una imagen estática en netbeans pero que sea a la hora de ejecutar .. pero antes de eso necesito una programación muy sencillo.. por favor darme la solución en mi correo electrónico

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Lorca Editor es una aplicación online creada por el desarrollador español Domingo Martin el cual tiene como objetivo el...

Eratóstenes era un matemático griego del siglo  III a.C. el cual ideó una manera rápida de obtener todos los números pri...

Las matemáticas son fundamentales para la vida y aparte de las actividades clásicas de enseñanza desarrolladas en el aul...

MVC es un patrón de arquitectura de software que separa una aplicación en tres componentes lógicos principales.  Estos s...

Herramientas

Generador de Enlaces a Whatsapp