PROGRAMANDO EM ASP.NET

 Busca Online:
 

Seja bem vindo(a) Visitante, você não está logado deseja logar
na comunidade ASPNETi.COM e participar de serviços e promoções ? clique aqui.

Desenvolvendo Aplicativos para TV Digital - Parte 3



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

comente
Diminuir o tamanho das letras Aumentar o tamanho das letras


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: 2034
voltar   comente  subir


Comentários:


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

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

Permissão de Página Utilizando Web.Config
Vírus do Serasa por E-mail
Registro .COM.BR com CPF
Ebook: Desenvolvendo WebServices
PodCast na Comunidade
Desenvolvimento para TV Digital - Tópicos
ASP .NET 2.0 Cross-Page Posting
CES em Las Vegas
Vídeo Sobre Atributes e String Builder com Visual Studio .NET 2005
Sistema em ASP 3.0 utilizando 3 camadas – Parte 3
Resources e Internacionalização usando Visual Studio.NET 2005 (Parte II)
Novo Hotmail no ar
NDOC para versão framework 2.0
Documento padrão de desenvolvimento
Prepare o Sql Server para o VS 2005
Microsoft Preview Windows Phone 7 in NYC
Criando uma aplicação de uma maneira nova para melhor publicação
Tech Fest 2009
XAML Power Toys
Pagamento via celular
Usando Themes ASP.NET 2.0 (Parte 2)
Garmin Asus com Windows Mobile 6.5.3
Propaganda Microsoft - Vemos como será e não como é.
Criando Alias no Pacote
Sistema de Login em ASP – Parte X
Google Chrome no Windows
Coalescing Operador C# ?? null
Exemplo usando try e catch
Armazenando Dados no ViewState Parte II
Mais um Windows Phone 7
Tata Motors (Grupo TCS)
Event Log Parte II - Visual Studio.NET 2005
Trabalhando com GridView, RowCommand e DataKeysNames
Tudo Sobre DataGrid - (ASP.NET e C#)
Windows 7 funciona até no Mac
Sobre o Autor
  [sumir] [aparecer]
 
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

Informações Online
Usuários Online: 1513
Artigos:  729
Vídeos:  59
PodCast's:  42
Fórum:  3127
Empregos:  1359
Usuários Cadastrados: 6080
Publicidade
LAYERDEV




Enquete ASPNETi.COM
 Os podcasts tem sido proveitoso pra você?

Favor logar para votar
 
Publicidade Vertical
NETITC