O primeiro passo é escolher um arquivo MP3 e adicioná-lo no seu projeto. Para isso, adicione o arquivo na pasta res/raw. O arquivo R.java será atualizado e você poderá referenciar o arquivo como um recurso qualquer.
O segundo passo é instanciar um objeto MediaPlayer, que é a classe que usaremos para executar o nosso arquivo MP3. Para isso, utilizamos o método create() da classe MediaPlayer. Note que o método é estático e também possui dois argumentos: o primeiro é o contexto do aplicativo e o segundo é o id do arquivo, que é obtido pela classe R.
MediaPlayer player = MediaPlayer.create(contexto,R.raw.arquivo_mp3);
Para iniciar a reprodução, utilizaremos o método start(). Esse método continuará de onde parou caso a música foi pausada, ou reiniciará a música caso contrário. Para parar a reprodução, utilizamos o método stop(), e para pausar a reprodução, o método pause().
Perceba que para retomar a reprodução novamente, é necessário invocar o método prepare() ou prepareAsync() antes de chamar o start(). A diferença entre as duas funções é que o primeiro manterá a thread bloqueada até o Player estiver pronto para reprodução, enquanto o segundo liberará a thread e disparará um OnPreparedListener para quando a mídia estiver pronta.
player.start(); //Primeira execução, Inicia a reprodução do começo player.pause(); //Pausa a reprodução
player.start(); //Inicia a reprodução de onde parou
player.stop(); //Para a reprodução
player.prepare(); //Prepara o player para reprodução
player.start(); //A reprodução iniciará do início
Por último, quando o Player não ser mais necessário, devemos finalizar com o método release(), que liberará todos os recursos que o player estiver utilizando. player.release();
Lembre-se que sempre deve chamar o métado release(), inclusive quando o aplicativo for finalizado. Caso não faça, os recursos continuarão alocados para o aplicativo mesmo depois de finalizado. Por exemplo, se você encerrou o aplicativo com uma música em reprodução, a música continuará tocando mesmo com o aplicativo encerrado.
Outra dica é que não deve instanciar vários MediaPlayer's, pois chegará um momento em que o sistema não consiguirá criar edará um erro (nos testes que fiz, foram no máximo 8 instâncias, na nona ele deu erro).
Nenhum comentário:
Postar um comentário