Aprende Java Aprende Php Aprende C++ Aprende HTML 5 Aprende JavaScript Aprende JSON Aprende MySQL Aprende SQLServer Aprende Visual Basic 6 Aprende PostgreSQL Aprende SQLite Aprende Redis Aprende Kotlin Aprende XML Aprende Linux VSC Aprende Wordpress Aprende Laravel Aprende VueJS Aprende JQuery Aprende Bootstrap Aprende Netbeans Aprende Android
Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube Sigueme en TikTok Sigueme en Whatsapp
Home / Android / Reproducción de sonidos con LibGDX

Reproducción de sonidos con LibGDX

Por 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

Artículos similares

Reportes con imagenes en Java (Video)

Video Tutorial que muestra una de las maneras de utilizar y mostrar imagenes en iReport, pasando estas como parametros d[...]

TextToSpeech: Convierte texto a voz

TextToSpeech o TTS, es el sintetizador de voz para android, en los celulares inteligentes viene un motor TTS por defecto[...]

HELP ME – Envía un SMS de auxilio con tu ubicación

HELP ME, es una aplicación android gratuita que te permite enviar un mensaje de auxilio (S.O.S.) hasta 4 personas que tu[...]

Extraer texto de imágenes

imgclip es una pequeña herramienta de línea de comandos el cual se ejecuta desde la terminal para Mac, Windows y Linux.[...]

El juego boliviano que nació entre bloqueos: Conoce HASHWAR REBELIÓN 2026

Mientras Bolivia enfrentaba semanas de bloqueos que paralizaron al país, un innovador boliviano transformó esa situación[...]

Resolución de pantalla con LibGDX

En este tutorial, veremos un poco más de lo que son las texturas en libGDX y dos maneras de añadirlas a nuestros juegos,[...]