MobiPlayer: Desenvolvendo um player de vídeo Android
Veremos neste artigo o desenvolvimento de uma aplicação para reprodução de vídeos, utilizando os recursos de multimídia, interface e banco de dados providos pela plataforma Android.
Android
MobiPlayer
Desenvolvendo um player de vídeo Android
De que se trata o artigo:
Desenvolvimento de uma aplicação para reprodução de vídeos, utilizando os recursos de multimídia, interface e banco de dados providos pela plataforma Android.
Para que serve:
Desenvolver aplicações para reprodução de vídeos remotos (com streaming) nos formatos mais populares, fazendo bom uso das capacidades multimídia da plataforma Android.
Em que situação o tema é útil:
Quando se deseja fornecer recursos de vídeo remoto ao usuário de um dispositivo móvel que roda Android, de forma performática e amigável.
A plataforma Android possui grandes capacidades multimídia, as quais englobam a reprodução e gravação de recursos de áudio e vídeo, bem como o tratamento de imagens nos formatos mais populares. Neste artigo, vamos nos ater somente ao que diz respeito à reprodução de vídeos. Para isto, desenvolveremos um player passo a passo.
APIs de multimídia Android
A reprodução de recursos multimídia no Android é realizado através da classe android.media.MediaPlayer, que é capaz de reproduzir áudio e vídeo de qualquer fonte, seja ela um recurso da aplicação, do sistema de arquivos ou de uma rede (via URL).
No que diz respeito às capacidades de multimídia, o Android baseia-se no OpenCORE da PacketVideo, sendo que suas bibliotecas suportam a reprodução e gravação dos mais populares formatos de áudio e vídeo, bem como imagens estáticas, incluindo MPEG4, H.264, MP3, AAC, AMR, JPG, e PNG.
Infelizmente, no SDK M5, o suporte a áudio e vídeo on-line não dispõe das mesmas facilidades que arquivos de mídia locais, ou seja, se você estiver passando uma URL para um arquivo de mídia on-line, este arquivo deve ser do tipo .mp4 ou .3gp e poder ser baixado progressivamente.
Construindo um player de vídeo
Veremos aqui como desenvolver aplicações multimídia para o Android através de um player de vídeo on-line, o qual guarda um histórico dos vídeos assistidos e disponibiliza ao usuário uma seção de vídeos favoritos.
Esta aplicação deve, portanto, conectar-se a um servidor remoto, utilizar-se de streaming de vídeo (o qual deverá ser desenvolvido) e manter o vídeo em histórico com um screenshot para melhor identificação do vídeo pelo usuário em momento futuro.
Antes de começarmos a discutir a aplicação, vale lembrar sobre o conceito de Atividade no Android: uma Atividade é algo que o usuário pode fazer e geralmente é uma única tela. Atividades são implementadas como classes que estendem Activity, exibindo uma interface para o usuário, composta por Views (elementos de interface).
Nosso player pode então ser divido em quatro atividades: a primeira, destinada a exibir os possíveis caminhos do usuário dentro da aplicação, possibilitando solicitar a visualização de um novo vídeo, acessar os favoritos ou ainda selecionar um vídeo do histórico; a segunda, capaz de cadastrar um vídeo; a terceira capaz de reproduzi-lo; a quarta, responsável pela seção de favoritos.
O SDK nos disponibiliza duas maneiras para tratar áudio e vídeo. A mais fácil delas é fazer uso da classe android.widget.VideoView. Esta exibe um arquivo de vídeo, podendo carregar imagens de várias fontes. Ainda provê o gerenciamento computacional do tamanho do vídeo em tela, o que torna possível utilizá-lo com qualquer gerenciador de layout (além de fornecer várias opções de visualização).
No entanto, além de exibir o vídeo, queremos obter um screenshot, ou seja, escolher um frame do vídeo e exportar para uma imagem no sistema de arquivos. Isto implica na escolha da segunda maneira: o MediaPlayer. Este, além de permitir operações sobre a mídia, disponibiliza funcionalidades de playback e callback para bufferização via rede.
Escolhida a forma como vamos trabalhar, basta saber que devemos ainda organizar os dados relativos aos vídeos assistidos em histórico e favoritos. Para tanto, vamos utilizar fachadas que cuidarão do manejo das nossas entidades - vídeos e favoritos (o acesso ao banco de dados se dá pelo SQLite e não será discutido aqui, visto que não é o escopo do artigo). " [...] continue lendo...
Artigos relacionados
-
Artigo
-
Artigo
-
Artigo
-
Artigo
-
Artigo