Reprodução de Mídia

MediaPlayer - pt.2

Com o arquivo que será executado configurado e carregado, podemos, então, preparar a execução dele para o usuário final. Isso é feito através do método prepare. Esse método é responsável por carregar o que for necessário do arquivo, ler os dados e deixá-lo pronto para ser reproduzido. Mesmo no caso de o arquivo estar no sistema de arquivos, é importante notar que o prepare precisa ser chamado e pode demorar algum tempo para ser completamente executado, de acordo com o arquivo que esteja sendo preparado.

Uma vez que o MediaPlayer tenha finalizado a preparação do arquivo, o próximo passo é, finalmente, reproduzi-lo. Para fazer isso, da mesma maneira que fizemos anteriormente, precisamos apenas chamar o método start.

A partir daí, sua aplicação estará executando a mídia que tenha sido carregada. Para parar, o método stop deve ser chamado. É importante notar que uma vez que a mídia tenha sido parada, ela deve ser novamente preparada para que volte a ser executada.

Outros métodos do MediaPlayer também podem ajudar a atingir a reprodução desejada. Consulte-os no autocompletar da IDE ou no site do Android Developers.

Agora que já sabemos reproduzir arquivos vindos do sistema de arquivos do dispositivo, vamos ver, na Listagem 3, as mudanças necessárias no código para que possamos reproduzir mídia vinda diretamente da internet.

Listagem 3 - Carregando arquivos da internet para reprodução

A Listagem 3 nos mostra que para carregar e executar arquivos da rede poucas mudanças são necessárias, graças à praticidade nos fornecida pela API do MediaPlayer. As duas mudanças notáveis no código são que agora o DataSource é setado para um URL e não para um URI, e também passamos a não precisar mais a SecurityException. Fora isso, temos exatamente o mesmo procedimento.

O que é importante notar aqui, quando fazemos o carregamento da mídia através da rede, é o tempo que será necessário para que o prepare seja executado. Perceba que fatores como sobrecarga da rede podem afetar drasticamente o tempo necessário para baixar o arquivo e, com isso, pode ser que o programa chegue a travar nesse comando. Na próxima seção, veremos a maneira correta de evitar isso. Também perceba a necessidade de que o URL passado seja direto para um arquivo de um tipo que possa ser carregado pelo Android e que o URL permita ao usuário fazer o download progressivamente. Passando essas limitações, basta carregar o arquivo como mostrado na Listagem 3 e tocá-lo.

Versão 5.3 - Todos os Direitos reservados