Reprodutor de
Audio MR
Marcos Momm, Rodrigo de Moraes
Prof.: Rodrigo Curvêllo
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
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
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.
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
Scene Builder
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.
Caso de Uso
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”
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.
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.
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,
Desenvolvimento - Threads
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.

Reprodutor de Audio MR

  • 1.
    Reprodutor de Audio MR MarcosMomm, Rodrigo de Moraes Prof.: Rodrigo Curvêllo
  • 2.
    Introdução O trabalho consisteno 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 seguintesaçõ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
  • 6.
  • 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.
  • 8.
  • 9.
    Desenvolvimento - Playlist Umaplaylist é 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 Aslegendas 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áriaa 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 Umproblema 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,
  • 13.
  • 14.
    Conclusão Para que todosos 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.