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 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

Postagens mais visitadas deste blog

E Esse Tal de Nano Service?

Executar Audio em Java Swing

Validando Email em Java Com e Sem expressão Regular