2. Introdução
O trabalho consiste no desenvolvimento de um player de música em que o
usuário tem a possibilidade de além de ouvir a música ter a legenda da
mesma passando sincronizado com o tempo da música.
Para a criação do player de música MR foi utilizado as seguintes tecnologias:
Linguagem de programa Java
JavaFX
Estrutura de documento Json
3. Desenvolvimento
Proporciona as seguintes ações:
Reproduzir arquivos de áudio no formato .mp3
Sincronizar legendas no formato .lgd junto ao áudio
Cadastrar e salvar playlists de músicas. Utilizando o formato .plt
Para a interface gráfica foi usado o JavaFX
Os arquivos de legenda foram montados utilizando a estrutura de Json
4. Fundamentação Teórica - Java
Tem a possibilidade de programação concorrente com o uso de APIs e é
responsável por todo o funcionamento do player de música.
A classe thread no Java é nativo na própria linguagem, podendo ser
estendida ou implementada através da classe Runnable.
5. Fundamentação Teórica - JavaFX
Na interface gráfica do player de música, foi utilizado o JavaFX.
É uma família de produtos desenvolvida pela Sun Microsystems que inclui
uma linguagem de script declarativa e de alto desempenho para oferecer
interfaces gráficas.
Com a utilização do JavaFX foi utilizado o Scene Builder que é um
framework que auxilia no desenvolvimento da interface de interação com
o usuário
7. Fundamentação Teórica - Json
JavaScript Object Notation ou somente Json, é um modelo para
armazenamento e transmissão de informações em formato texto.
Tem sido bastante utilizado em aplicações web devido a sua capacidade de
estruturar informações de uma forma bem mais compacta do que a do
modelo XML
O parsing das informações é mais rápido em relação ao XML
Empresas como o Google e Yahoo, adotaram o Json, cujas aplicações
precisam transmitir grandes volumes de dados.
9. Desenvolvimento - Playlist
Uma playlist é manipulada através de uma lista de objetos do tipo “Musica”
e a partir do momento do salvamento, esta lista de objetos, que é do tipo
“ObservableList”, bastante utilizado junto ao JavaFX, é convertida em um
Json.
Ao ler uma playlist o programa converte um json numa lista de objetos do
tipo “Musica”
10. Desenvolvimento - Legenda
As legendas das músicas, funcionam de forma semelhante a arquivos de
legendas de vídeos, porém neste caso, no padrão de Json.
11. Desenvolvimento - Player
Necessária a utilização de programação concorrente, usando as threads do
Java.
Foram utilizadas duas threads principais
Uma para controle da música, utilizando uma biblioteca de terceiros, atendendo pelo nome
“Player”.
Outra thread para o controle dos componentes da tela, que seriam o contador do tempo e
as frases de legendas.
12. Desenvolvimento - Threads
Um problema encontrado ao utilizar as threads do java junto ao JavaFX foi
que as threads do java não possuem acesso aos componentes gráficos do
JavaFX.
Como solução, encontrou-se necessário a utilização de threads secundárias
para alteração dos componentes da tela
Quando se está executando uma thread java, para que se possa editar
algum componente na tela, é necessário disparar uma thread do tipo
“runLater” do JavaFX,
14. Conclusão
Para que todos os eventos ocorram, execução da música, legendas, se
mostrou necessário uma linguagem de programação com suporte à
programação concorrente, no caso a linguagem de programação Java
O JavaFX se mostrou uma aplicação bastante interessante para o
desenvolvimento de interface gráfica com o auxílio do Scene Builder
Json foi responsável pela estrutura das legendas da música.
Com a utilização de todas essas tecnologias em conjunto foi possível a
criação do player de música com legendas e com resultados satisfatórios.