Colocando Sound Track em Game Android
"SABE AQUELE GELO QUE VOCÊ MEDEU???? EU TO TOMANDO ELE NA BALADA COM WISK E RED BULL UU UU!" :P
Você criou um game ou aplicativo para Android e não sabe como colocar uma música de fundo, “seus problemas acabaram!!!!”.
O Android permite a reprodução de áudio/vídeo nos dispositivos móveis de três formas: de um recurso RAW(dentro do projeto, em res/raw), de um arquivo no sistema ou de uma URL. O Android disponibiliza a classe MediaPlayer para a reprodução de áudio e vídeo em seu ambiente. Ela é muito simples, possui vários métodos já prontos para a reprodução de áudio e vídeo.
Mostraremos a seguir todos os passos para a execução de um arquivo de áudio/video no Android:
1- Lendo arquivo de audio do res/raw
– Para começar, coloque seu arquivo de áudio na pasta res/raw do seu projeto android;
– Crie uma instância da classe MediaPlayer no evento onStart de sua Activity, conforme abaixo:
MediaPlayer media = MediaPlayer.create(context, R.raw.audio);
media.start();
Ao criar a instância da classe, é necessário passar como parâmetro o contexto e a identificação do arquivo de áudio, em seguida, chame o método start() de MediaPlayer.
Para parar sua execução, chame o método stop(). Se você quer executar um replay da música, você deve chamar o método reset () e o prepare() da classe MediaPlayer, antes de chamar o método start() novamente.
Para parar temporariamente o arquivo de áudio, chame o método pause() no evento onPause da suaActivity, conforme a seguir:
@Override
protected void onPause() {
super.onPause();
if (media.isPlaying()) {
media.pause();
}
}
Para iniciar novamente o áudio é só chamar o método start() no evento onResume da Activity, conforme abaixo:
@Override
protected void onResume() {
super.onResume();
if (!media.isPlaying()) {
media.start();
}
}
Obs.: media é uma variável (MediaPlayer media) instanciada no evento onCreate da Acivity:
media = MediaPlayer.create(this.getApplicationContext(), R.raw.audio);
media.start();
2 - Lendo arquivo de audio do sistema ou de uma URL
Se você quiser executar um áudio disponível no sistema ou em uma URL, siga os seguintes passos:
– Criar uma instância da classe MediaPlayer, neste caso, usando new;
– Chamar o método setDatSource, passando como parâmetro uma String contendo o local do arquivo no sistema ou a URL;
– Para finalizar, chame o método prepare(), em seguida, o método start(), conforme exemplo abaixo:
MediaPlayer media = new MediaPlayer();
media.setDataSource(PATH_FILE);
media.prepare();
media.start();
Obs.: o método setDatasource pode gerar duas exceptions: IllegalArgumentException e IOException .
Essas exceções ocorrem quando o arquivo não é encontrado, ou quando a URL usada como parâmetro, não disponibiliza o arquivo de áudio para download. Usando URL o Android precisa fazer o download para o seu ambiente.
Protocolos de rede suportados para a leitura de áudio/vídeo
- RTSP (RTP, SDP);
- HTTP progressive streaming;
- HTTP live stream (Android 3.0 ou superior).
Obs.: HTTPS ainda não é suportado.
Para um melhor entendimento, implementamos no game Blackjack uma musica de fundo. É só baixar ocódigo fonte do google Code e rodar na sua máquina. Estamos usando um arquivo mp3 baixado do sitehttp://freemusicarchive.org/about/ (que disponibiza arquivos mp3 free). Se você quiser, pode colocar a sua música preferida no Blackjack, é só copiar o arquivo para o diretório res/raw/, não esqueça de renomeá-lo para audio.mp3. Só tenha cuidado com o tamanho do arquivo mp3, pois ele pode deixar o arquivo .apk muito grande.
VLW, FLW, ISSO AI, FUI!
"EU TO TOMANDO ELE NA BALADA COM WISK E RED BULL UU UU!..."
Referências:
Comentários
Postar um comentário