Som
O JPlay, por enquanto, só aceita arquivos wav.
1 - Executando um som
Para executar um som, basta fazer:
//Esse comando pode ser chamado em qualquer parte do código. new Sound(nome_do_arquivo).play();
2 - Métodos da Classe Sound
//Retorna true se o som estiver sendo reproduzido, ao contrário, retorna false. public boolean isExecuting(); //Pausa o som. public void pause(); //Pára de tocar o som. public void stop(); //Começa a tocar o som. public void play(); //Seta o volume com que o som irá ser tocado. public void setVolume(float value); //Diminui o volume do som. public void decreaseVolume(float value); //Aumenta o valor do som. public void increaseVolume(float value); //Passe true, se vc quiser que o som se repita, false caso contrário. //Por padrão o som é configurado para tocar somente uma vez. public void setRepeat(boolean value);
Exemplo: Ao detectar que dois objetos colidiram reproduz um som de explosão.
package Som001; import jplay.Animation; import jplay.GameImage; import jplay.Sound; import jplay.Sprite; import jplay.Window; /** * @author Gefersom Cardoso Lima * Universidade Federal Fluminense - UFF - Brasil - 2010 * Ciência da Computação */ public class Som001 { //At the time the bird colliding with the rock it explodes and a sound plays. public static void main(String[] args) { Window janela = new Window(800,600); GameImage pedra = new GameImage("pedra.png"); pedra.x = 396; pedra.y = 63; GameImage ceu = new GameImage("ceu.png"); Sprite passaro = new Sprite("passaro.png", 3); passaro.setTotalDuration(360); Animation explosao = new Animation("explosao.png",20); explosao.setTotalDuration(1400); explosao.setLoop(false);//The animation will run only once. passaro.x = 100; passaro.y = 460; boolean colidiu = false; while(true) { ceu.draw(); pedra.draw(); if (colidiu == false) { passaro.draw(); passaro.update(); passaro.moveTo(600, passaro.y, 0.8); if (passaro.collided(pedra)) { colidiu = true; explosao.x = passaro.x - 70; explosao.y = passaro.y - 50; new Sound("explosao.wav").play(); } } else { explosao.update(); explosao.draw(); } if (explosao.isPlaying() == false && colidiu == true) explosao.hide(); janela.update(); janela.delay(10); } } }
UFF - Universidade Federal Fluminense - Institudo de Computação - Ciência da Computação