Sobre o NCL

Olá, neste post iremos abordar o que vem a ser o NCL e um exemplo bem simples.

A linguagem NCL – Nested Context Language é uma linguagem declarativa para autoria de documentos hipermídia baseados no modelo conceitual NCM – Nested Context Model – que foi desenvolvida utilizando uma estrutura modular, seguindo os princípios adotados pelo W3C.

O NCM (Nested Context Model, Modelo de Contextos Aninhados), modelo subjacente à linguagem NCL, possibilita a representação de grafos aninhados, permitindo segmentar e estruturar o documento conforme necessário. Isso é feito através de nós de composição, também chamado de contexto, que são nós compostos de grafos NCM.

Estrutura de um documento NCL

Para construir um documento NCL, é necessário definir:

  • O que tocar ? (mídia: imagem, vídeo, texto, som)
  • Onde ? (qual região da tela)
  • Como ? (em que volume, com que player, etc.)
  • Quando ? (antes ou depois de qual mídia ser executada, após qual tecla ser pressionada)

O que tocar – Nó de mídia

A primeira coisa que devemos fazer para desenvolver uma aplicação audiovisual interativa em NCL é definir qual o conteúdo dessa aplicação audiovisual, ou seja, devemos definir quais são os nós de mídia que essa aplicação terá. Nó de mídia se trata de elementos de mídia, como: som, imagem, texto e etc.

Onde tocar – “regiões”

O segundo passo na construção do documento é definir onde cada nó de mídia vai ficar localizado na tela, ou seja, uma região indica a posição e as dimensões da área onde uma mídia será apresentada. Conforme a figura a seguir.

 

Desta forma se você possui um arquivo de vídeo e deseja que ele fique localizado na região inferior da tela do lado esquerdo e que seja apresentado com as dimensões de “400 pixels” de largura e “300 pixels” de altura. Será especificado entre as Tags <regionBase> e </regionBase> do código NCL essas características da dimensão e da localização para depois associar ao vídeo. No entanto, quem faz a associação da mídia com a região é o descritor.

O código NCL para definir uma região de vídeo fica da seguinte maneira:

<regionBase> 

<region id=”rgVideo1” width=”400” height=”300” top=”0” left=”0”>

</regionBase>

 

Como tocar – “descritores”

Os descritores fazem a associação do nó com a região e define como serão apresentadas, como apresentado na figura a seguir.

 

Mesmo que não se queira alterar a forma como uma mídia será apresentada, é necessário um descritor para associar a mídia à região onde deverá ser apresentada. Por isso, ao definir um descritor é necessário definir a região a qual ele estará associado.

O código NCL para o descritor segue como abaixo:

<descriptorBase> 

<descriptor id=”dVideo1” region=”rgVideo1”/>

<descriptor id=”dLegenda” region=”rgLegenda”/>

</descriptorBase>

Nesse código é possível visualizarmos dois descritores (“dVideo1” e “dLegenda”) e cada um dos descritores está associado a região do “id” correspondente. Até o momento, verificamos o código que mostra a criação da região e a criação do descritor que é associado a uma determinada região. Agora veremos um código onde mostra a associação do nó de mídia com o descritor:

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

Essa linha de código mostra o tipo de mídia que será apresentada, que no caso é um vídeo, a extensão do arquivo, que no caso é “mpeg” e dá um identificador único para ela (id) e em “src” mostra o local onde está armazenado o arquivo de vídeo e em “descriptor” mostra qual é o descritor que está associado a este nó, que no caso é o descritor “dVideo1´´.

 

Quando tocar – “elos”

Os elos definem quando um nó de mídia será apresentado em relação a outros.

Para definir o primeiro nó de mídia do documento a ser apresentado, deve-se criar uma porta no contexto body. Essa porta indicara qual é o primeiro nó de mídia que será visualizado.

<body> 

<port id=”portadeiniciodoprograma” component=”video1″>

<media type=”vídeo/mpeg” id=”video1″ src=”media/video1.mpeg” descriptor=”dvideo1″/>

</body>

 

 

Exemplo simples para reproduzir um vídeo

Para entender melhor o funcionamento vamos executar o seguinte exemplo:

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

<!–

Reproduz Vídeo

–>

<ncl id=”exemplo01″ xmlns=”http://www.ncl.org.br/NCL3.0/EDTVProfile”&gt;

<head>

<regionBase>

<region height=”100%” id=”rgVideo1″ left=”0″ top=”0″ width=”100%”/>

</regionBase>

<descriptorBase>

<descriptor id=”dVideo1″ region=”rgVideo1″/>

</descriptorBase>

</head>

<body>

<port component=”video1″ id=”pEntrada”/>

<media descriptor=”dVideo1” id=”video1″ src=”media/video_android1.mp4“/>

</body>

</ncl>

Neste exemplo a tag <regionBase> indica a posição que o vídeo será exibido.A tag <media> define que vamos reproduzir um vídeo chamado “dVideo1”, que foi declarado como um descritor deste documento NCL.

 

No próximo post mostraremos exemplos mais complexos.

 

Abraços!

Sobre Alexandre Belchior Medeiros

Bacharel em Análise de Sistemas

Deixe uma resposta

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s

%d blogueiros gostam disto: