Código de efectos de sonido de juegos para desarrollo de Android
Este tutorial le presentará el código de efectos de sonido del juego en el desarrollo de Android.
//El volumen del efecto de sonido
int streamVolume;
//Definir el objeto SoundPool private SoundPool soundPool;
/ /Definir la tabla HASH private HashMapInteger, Integer soundPoolMap;
/********************************* ***** **************************** * Función: initSounds();
* Parámetros: nulo
* Devuelve: Ninguno.
* Descripción: Inicializa el sistema de sonido
* Notas: ninguna.
***** *********** **************************************** *********** **/
public void initSounds() { //Inicializa el objeto soundPool El primer parámetro es cuántos flujos de sonido se pueden reproducir en el. Al mismo tiempo, el segundo parámetro es el tipo de sonido y el tercer parámetro es la calidad de soundPool = new SoundPool(100, AudioManager.STREAM_MUSIC, 100);
//Inicializa la tabla HASH soundPoolMap =. new HashMapInteger, Integer();
//Obtener el dispositivo de sonido y el volumen del dispositivo AudioManager mgr = (AudioManager)context.getSystemService(Context.AUDIO_SERVICE);
streamVolume = mgr.getStreamVolume (AudioManager.STREAM_MUSIC);
}
/**************************** ******************** **************** * Función: loadSfx();
* Parámetros: nulo
* Devuelve: Ninguno.
* Descripción: Cargar recursos de efectos de sonido
* Notas: ninguna.
* *********************** **************************** ************/
public void loadSfx (int raw, int ID) { //Carga los efectos de sonido en el recurso con el ID especificado (solo corresponde a este ID) durante la reproducción) soundPoolMap.put(ID, soundPool.load(context, raw, ID)) ;
}
/************** *********************** **************************** *** * Función: play();
* Parámetros: sonido: ID deseado del efecto de sonido reproducido, loop: número de loops
* Devuelve: Ninguno.
* Descripción: Reproducir sonido
* Notas: ninguna.
************************ ******************************* ***********
*****/
reproducción vacía pública (int sonido, int uLoop) { soundPool.play(soundPoolMap.get(sonido), streamVolume, streamVolume, 1, uLoop, 1f); >