sexta-feira, 24 de abril de 2015

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:

Admin: Bruno

Olá Galera! muito grato por estarem acessando nosso blog. Espero que seja possível transmitir de forma compreensível um pouco de meus conhecimentos em programação, para esta comunidade de desenvolvedores que cresce cada vez mais! Espero que Gostem! Abraço! E meu enorme obrigado à Renato Simões, Átila Soares,Wanderson Quinto, Emerson e a toda galera que sempre ajudou meu sincero obrigado....
Especialmente a Natalia Failache e Rita de Cassia que sempre apoiaram este sonho....

De seu amigo Bruno Rafael.