Busca online em todo site:
NETITC

Seja bem vindo(a) Visitante, voc no est logado deseja logar
na comunidade ASPNETi.COM e participar de servios e promoes ? clique aqui.




Título do Artigo

Desenvolvendo Aplicativos para TV Digital - Parte 3


Data Publicação: 20/12/2008 10:26:59
Total de visualizações: 1606

comente
 


SBTVD - Sistema Brasileiro de Televisão Digital

Desenvolvendo Aplicativos para TV Digital - Parte 3

    Nos dois últimos textos escritos, falei um pouco sobre o Sistema Brasileiro de Televisão Digital e suas ferramentas para desenvolvimento. É importante saber que o mercado está muito propício para esse tipo de desenvolvimento de software.
    O próximo passo é criar o seu primeiro aplicativo para TV Digital. O que vou abordar é, Ginga-NCL, comentado em textos anteriores; uma tecnologia brasileira de fácil aprendizado.
    Depois de instalar a ferramenta e seu plugin, começarei a mostrar como funciona as tags para exibir um vídeo, criar um botão, interatividade com o usuário operador do controle remoto e tudo mais. É importante seguir passo a passo.

Ferramenta de Desenvolvimento


Eclipse
Plugin Ginga-NCL instalado
Java JRE 1.6

    Uma observação importante é que, esse plugin funciona apenas com a versão 1.6 do java ou superior. No caso de uma versão anterior, o mesmo não funcionará adequadamente. Para ser mais específico, nem mesmo abrirá corretamente.

Criando um projeto

    Para criar o primeiro projeto do tipo NCL é preciso clicar em File --> New --> Other.... Siga os passos. (Referência 3.1)


Referência 3.1

    Automaticamente abrirá uma tela wizard que, disponibilizará uma opção NCL Document. Caso não tenha essa opção em sua ferramenta, favor instalar o plugin novamente. (Referência 3.2)


Referência 3.2

    Cliquei no botão Next e passando para a próxima tela, coloquei o nome do projeto /exemplo1_30 e o nome do File name, não esqueça de colocar a extensão do arquivo (.ncl). (Referência 3.3)


Referência 3.3

    Cliquei no botão Finish e o documento foi criado em minha solução com uma pré-estrutura montada para ajudar. (Referência 3.4)


Referência 3.4

Explicação:
    Note que no início do arquivo possui uma tag de xml, <?xml...> Então você se pergunta, esse documento todo será em formato xml? Eu respondo que sim, pois os documentos na programação Ginga-NCL possui estrutura de xml que facilita no desenvolvimento.

<?xml version="1.0" encoding="ISO-8859-1"?>

Table 3.1

    A tag <ncl id=”teste”...> quer dizer que para essa tag necessariamente precisa de um id. A tag <... xmlns=”http...”> é um name space daquela tag. Mais a frente explicarei mais detalhadamente.

<ncl id="teste" xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">

Table 3.2

    A tag <head> é de cabeçalho, possui início e fim. Dentro dela, geralmente coloco uma região base e uma descrição base que será explicado mais a frente. Table 3.3

 <head>
</head>

Table 3.3

    A útlima tag criada no documento estruturado é o <body>, ou seja, o corpo do documento; vários outros comandos ou tags podem ser colocadas.

<body>    
</body>

Table 3.4

    Por último, o documento foi fechado com a tag </ncl>. Gostaria de lembrar que, toda tag iniciada deve ser fechada, não importa se existe uma tag dentro da outra. Para fechar uma tag, coloco < / ...> a barra indicando.

Exibindo o primeiro vídeo com Ginga-NCL

    O próximo exemplo, mostro como rodar o primeiro vídeo utilizando apenas tags do Ginga-NCL na tela. Lembrando que tudo isso é um emulador no computador, porém quando estiver na TV funcionará da mesma forma e perfeitamente.
    O grande problema é que, os set-top boxes ainda não estão totalmente preparados. Não fique preocupado pois, no próximo ano (2009) os produtores de set-top box prometeram essa interação.
    No exemplo seguinte, mostrarei como exibir um vídeo utilizando Ginga-NCL, definirei uma base de região, usarei uma tag de mídia e um ponto de entrada.  Antes de mostrar o código, explico que todos os vídeos com extensão “mpg” ficam dentro de uma pasta chamada media, apenas para organização.
    O primeiro passo foi criar um arquivo chamado exemplo01.ncl, foi definido apenas uma região para o vídeo aparecer. Table 3.5


<?xml version="1.0" encoding="ISO-8859-1"?>

<ncl id="exemplo01"
xmlns="http://www.ncl.org.br/NCL3.0/EDTVProfile">

 <head>

     <regionBase>
         <region id="rgVideo1" left="1" top="1" width="320" height="240" />
      </regionBase>

      <descriptorBase>
         <descriptor id="dVideo1" region="rgVideo1" />
      </descriptorBase>

  </head>

  <body>
      <port id="pInicio" component="video1"/>

      <media type="video/mpeg" id="video1" src="media/alanis_morisette.mpg" descriptor="dVideo1"/>

   </body>
</ncl>

Table 3.5

    O objetivo desse código é aparecer o vídeo em sua tela, mostrarei como posicionar o mesmo na tela, pode ficar no centro, lado esquerdo ou direito.

Explicação:
    No cabeçalho NCL define as URIs dos esquemas da NCL, ou seja, no namespace colocamos a versão 3.0 do NCL.
    Na tag <head> defino a região do vídeo ou dos objetos, pois podem ter vários objetos na tela. A base de regiões é importante para nosso NCL, define as regiões na tela onde as mídias são apresentadas (<regionBase>).
    Em cada tag, tem o seu atributo, cada um com seu valor específico. O width define o tamanho do vídeo que será apresentado em tela, horizontalmente. O height define o tamanho do vídeo verticalmente. O left posiciona na tela o objeto e o top é responsável pela posição do objeto verticalmente falando. (Table 3.6) Em cada tag existe o atributo id dando um nome.
    <regionBase>
         <region id="rgVideo1" left="1" top="1" width="320" height="240" />
      </regionBase>

Table 3.6

    Depois de definir a região, preciso definir a base de descritores, que é responsável pela apresentação das mídias, ou como serão apresentadas as mídias. (Table 3.7)


     <descriptorBase>
         <descriptor id="dVideo1" region="rgVideo1" />
      </descriptorBase>

Table 3.7

    É interessante esse tipo de apresentação, pois existe um relacionamento entre a região base e o descritor base. Note que o atributo region tem o valor do id da região. Usando o Eclipse ele faz o auto relacionamento e mostra os valores possíveis, como mostrado na referência 3.5.


Referência 3.5

    A próxima parte é definir o ponto de entrada, ou seja, no corpo do sistema que indica o componente onde o programa inicia. Table 3.8


<body>
     <port id="pInicio" component="video1"/>

Table 3.8

    Nesse caso, da (table 3.8) ainda não criei um vínculo. Pois no component deve ser diretamente relacionado a uma outra tag definida posteriormente. (Table 3.9)


<media type="video/mpeg" id="video1" src="media/alanis_morisette.mpg" descriptor="dVideo1"/>

Table 3.9

    As tags de mídia definem o local do arquivo de mídia e as associa a seus descritores específicos. Coloquei o tipo como video/mpeg, coloquei um id  chamado video1 localizado no diretório media/alanis_morisette.mpg pela tag src.
    Ao salvar o aquivo .ncl o editor eclipse verificar se tem algum problema de compilação, se houver será mostrado na própria tela.

Executando o Código Feito

    Cliquei no botão play exibido em tela, escolhi a opção Run As e a sub-opção 1 NCL Presentation. (Referência 3.6)


Referência 3.6

    Depois de executar o código clicando no sub-menu NCL Presentation, o vídeo é apresentado junto a sua tela. Automaticamente aparece o controle remoto emulando uma televisão digital.
    O seu computador vira a tela de uma TV com controle remoto para interatividade. (Referência 3.7)


 Referencia 3.7

    Bom eu fico por aqui, qualquer dúvida, favor entrar em contato. Espero ter ensinado de maneira entendível.

Mauricio Junior
www.mauriciojunior.org
www.aspneti.com



Total de visualizações: 1606
voltar   comente  subir

Autor:


Por:Mauricio Junior
Maurício Júnior
Formado pela Faculdade Anhanguera, Especialista pela FGV (Fundação Getúlio Vargas), Pós-Graduação em Docência Superior e cursando Mestrado na UNB Engenharia Elétrica; .
Tenho 27 anos e possuo sete livros publicados pela editora Ciência Moderna no ano de 2009. Sou Certificado Microsoft MCP, MCAD e MVP, faço parte da comunidade ASPNETI.COM, onde publico artigos, vídeos, ebooks e livros Publico artigos, vídeos e podcast em outras comunidades. Trabalho como Analista de Sistemas / Desenvolvedor na empresa ATP S/A. Blog:  blog.mauriciojunior.orgSite pessoal  www.mauriciojunior.org


Comentários:


Comente (dê sua opinião): VOCÊ PRECISA ESTAR LOGADO

Comentário:
Código Imagem:  (digite o código da imagem respeitando maiúsculo e minúsculo)

Favor digitar o código da imagem para cadastramento.

 

Outros Artigos do Autor

Permitir Teste pelo Browser no WebService
Dll Ajax
Nova forma de utilizar cache utilizando Visual Studio.NET 2005
Seria o novo Windows Mobile 7 ?
Vídeo - Conecte
Criando Splash - Com Efeito
Sistema ASP 3.0 utilizando 3 camadas – Parte 2
Conecte - Os games
Google Sync Mobile
Mais detalhes sobre o HTC Touch HD 2 com o possível Windows Mobile 7
Exemplo do livro Programando em C# para Web
Torne-se Autor de Artigos
Nem tudo é o que parece!
Gerando word com Visual Studio.NET 2005
Registro .COM.BR com CPF
Propaganda Microsoft - Vemos como será e não como é.
Trabalhando com o componente Accordion
MinimizeBox no Celular
Loja Apple (a2you.com.br) feita em .NET (Microsoft)
CRIANDO MENU DINÂMICO COM C#.NET Passo 1
Vídeo sobre banco de dados
Internet Explorer 8
MSDN Media Center - download de vídeos
IsWholeNumber
Sistema de Controle de Gasolina Mobile - iGas
Vídeo - Mostrando um sistema com pocket pc
Virus: Provocando sua curiosidade
Media Center Microsoft bombando
Coalescing Operador C# ?? null
Treinamento VSTS
Criando arquivo usando Visual Studio.NET 2005
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte II)
Download grátis - Sistema de Controle de Combustível
IsAlphaNumeric
Calcular Média de Combustível

Publicidade:

[sumir] [aparecer]
LAYERDEV




Informaes Online:

Usurios Online: 33
Artigos:  663
Vdeos:  47
PodCast's:  31
Frum:  3098
Empregos:  1226
Usurios Cadastrados: 5794

Categoria de Artigos

Vdeos

Enquete - D sua opinio

 Os podcasts tem sido proveitoso pra você?

 

Colaboradores

Foto Autor autor: Mauricio Junior   
publicou 382 artigo(s).
Foto Autor autor: Júlio Battisti   
publicou 51 artigo(s).
Foto Autor autor: Fabio Galante Mans   
publicou 28 artigo(s).
Foto Autor autor: Kleber Becerra   
publicou 10 artigo(s).
Foto Autor autor: Ramon Durães   
publicou 6 artigo(s).
Foto Autor autor: Ebenézer de Souza   
publicou 5 artigo(s).
Foto Autor autor: Fabio Aguiar   
publicou 4 artigo(s).
NETITC