Desenvolvendo aplicações para TV Digital e Interativa utilizando JAVA TV



Documentos relacionados
Desenvolvimento de Sistemas para TV Digital. Prof. Fabrício J. Barth Faculdades Tancredo Neves

Ginga e a TV Digital Interativa no Brasil

A TV DIGITAL COMO INSTRUMENTO DE ENSINO DE MATEMÁTICA. Adriano Aparecido de Oliveira, Juliano Schimiguel

NCL e Java. Aquiles Burlamaqui

Desenvolvendo Aplicações para a Televisão Digital

Desenvolvendo e Integrando Serviços Multiplataforma de TV Digital Interativa

TV ESCOLA INTERATIVA: UMA PROPOSTA EDUCATIVA PARA TV DIGITAL

Desenvolvendo Aplicações para TV Digital Interativa

Introdução Padrão Brasileiro de TV Digital. Desenvolvimento de Aplicações Interativas. Trabalhos em andamento

Java TV: Visão Geral

Visão Geral das Tecnologias Envolvidas no Desenvolvimento de Aplicações Interativas para o Sistema Brasileiro de TV

Aplicações para TV Digital com Ginga-J do ambiente à execução

TECNOLOGIAS PARA O DESENVOLVIMENTO DE APLICAÇÕES EDUCACIONAIS PARA TV DIGITAL

TV DIGITAL INTERATIVA: UM RECURSO DIDÁTICO NO PROCESSO DE ENSINO E APRENDIZAGEM DA EDUCAÇÃO PROFISSIONAL E TECNOLÓGICA

PADRÕES DE MIDDLEWARE PARA TV DIGITAL

PONTIFÍCIA UNIVERSIDADE CATÓLICA DE SÃO PAULO Centro das Ciências Exatas e Tecnologia Faculdade de Matemática, Física e Tecnologia

Protocolo de Aplicação para Jogos de Tabuleiro para Ambiente de TV Digital

Desenvolvendo Aplicações para TV Digital Interativa. Diemesleno Souza Carvalho. Dourados -MS, 20 de Abril de 2011.

UTILIZAÇÃO DA API JAVATV PARA O DESENVOLVIMENTO DE APLICAÇÕES PARA A TV DIGITAL INTERATIVA

SISTEMAS DISTRIBUÍDOS

APLICAÇÃO PARA A TV DIGITAL INTERATIVA UTILIZANDO A API JAVATV Eli CANDIDO JUNIOR 1 Francisco Assis da SILVA 2

TV Dig ital - S ocial

Um framework para o desenvolvimento de aplicações interativas para a Televisão Digital

Desenvolvendo aplicações Java para TV Digital Ginga-J. Carlos Fernando Gonçalves César Augusto Fusca Thiago G. Vespa

Construção de programas Interativos para TV Digital utilizando o Ginga

Invocação de Métodos Remotos

Lady Daiana O. Pinto ; José P. Queiroz-Neto e Kátia Cilene N. Silva (1) (2) Centro Federal de Educação Tecnológica do Amazonas CEFET

Uma Introdução à Arquitetura CORBA. O Object Request Broker (ORB)

PESPECTVIAS DO PROJETO DE PESQUISA DESENVOLVIMENTO DE MIDDLEWARE PARA DIVULGAÇÃO DE SABERES POPULARES NO CANAL DE INTERATIVIDADE DA TV DIGITAL *

Jornalismo Multiplataforma. Tecnologias Redes e Convergência. eduardo.barrere@ice.ufjf.br

Amadeus-TV: Portal Educacional na TV Digital Integrado a um Sistema de Gestão de Aprendizado

Desenvolvimento de Aplicações Interativas. GINGA NCL e LUA. Projeto TV Digital Social

B ringing Al l U sers to the Television

Java. Marcio de Carvalho Victorino

Chamadas Remotas de Procedimentos (RPC) O Conceito de Procedimentos. RPC: Programa Distribuído. RPC: Modelo de Execução

GINGA - Software Livre para TV Digital Brasileira

TV Digital no Brasil e o Middleware Ginga. Luiz Eduardo Cunha Leite

Tutorial RMI (Remote Method Invocation) por Alabê Duarte

Como criar um EJB. Criando um projeto EJB com um cliente WEB no Eclipse

( TIAGO DOS SANTOS MENDES ) PROGRAMAÇÃO DISPOSITIVOS MOVEIS ANDROID STUDIO

Bringing All Users to the Television

Tutorial de Computação Introdução a Programação Gráfica em Java para MEC1100 v

Sistemas Distribuídos

PHP Profissional. Alexandre Altair de Melo Mauricio G. F. Nascimento

Trilha TV DIGITAL. Prof. Me. Marcelo Falco

Aplicações para TV Digital em Java Como começar a desenvolver?

Aula 09 Introdução à Java. Disciplina: Fundamentos de Lógica e Algoritmos Prof. Bruno Gomes

Um pouco do Java. Prof. Eduardo

Erisvaldo Gadelha Saraiva Júnior Ginga-J Emulator: Uma Ferramenta de Execução de Aplicações Imperativas para o Middleware Ginga

Java 2 Standard Edition. Fundamentos de. Objetos Remotos. Helder da Rocha

Programação de Computadores - I. Profª Beatriz Profº Israel

1.1. Aplicações de TVD dinâmicas

Promovendo a Memória de Pelotas pela TV Digital

1 Introdução Motivação

MIDDLEWARE Aplicativos RMI, RPC e eventos Camadas Protocolo Requesição-Respostal Middleware Representação Externa dos Dados Sistemas Operacionais

Entretenimento e Interatividade para TV Digital

INTERFACES DE DESENVOLVIMENTO DE APLICAÇÕES PARA TV DIGITAL BASEADO NO MIDDLEWARE MHP. Aluno: Joel Alexandre Darós Orientador: Mauro Marcelo Mattos

Sistemas Distribuídos

EMENTA DO CURSO. Tópicos:

Invocação de Métodos Remotos RMI (Remote Method Invocation)

ANÁLISE DO PROCESSO DE DESENVOLVIMENTO DE APLICAÇÕES PARA TV DIGITAL INTERATIVA EM UM CENÁRIO DE T-COMMERCE

TV Digital : Convergência e Interatividade HXD Interactive Television

Enterprise Java Beans

Metodologia de Integração entre Aplicações Web e Aplicações para TV Digital

Televisão Digital Interativa Principais Características e Tecnologias Multimedia Home Platform Sistema Brasileiro de Televisão Digital

Computação II Orientação a Objetos

Aplicativo para TV Digital Interativa de acesso ao Twitter

Laboratório de Computação VI JAVA IDL. Fabricio Aparecido Breve

UMA PROPOSTA DE API PARA DESENVOLVIMENTO DE APLICAÇÕES MULTIUSUÁRIO E MULTIDISPOSITIVO PARA TV DIGITAL UTILIZANDO O MIDDLEWARE GINGA

INTRODUÇÃO 12. DOCUMENTAÇÃO INTRODUÇÃO INTRODUÇÃO

Middleware Ginga. Jean Ribeiro Damasceno. Escola de Engenharia Universidade Federal Fluminense (UFF) RuaPassoda Pátria, 156 Niterói RJ Brasil

J550 Integração com Bancos de Dados

PROGRAMAÇÃO ORIENTADA A OBJETOS -INTERFACES GRÁFICAS. Prof. Angelo Augusto Frozza, M.Sc. frozza@ifc-camboriu.edu.br

DESENVOLVIMENTO DE UMA APLICAÇÃO PARA TV DIGITAL U- TILIZANDO A PLATAFORMA GINGA J

Universidade Federal de Juiz de Fora Ciência da Computação Sistemas Distribuídos Professor Ciro Barbosa

Desenvolvimento de Aplicações Locais na Plataforma Microsoft

SUMÁRIO CAPÍTULO 1 INTRODUÇÃO AO JAVA... 1

CONCEITOS DE LINGUAGEM DE PROGRAMAÇÃO CARACTERÍSTICAS. João Gabriel Ganem Barbosa

Desenvolvimento de um aplicativo básico usando o Google Android

Jorge Fernandes 1,2 Guido Lemos 3 Gledson Elias Silveira 3

Introdução ao Android

Java para Desenvolvimento Web

Engenheiro Eletrônico pela PUC-RJ e mestrando da Universidade Federal Fluminense.

O Panorama da TV Digital no Brasil. Leandro Miller Leonardo Jardim

Programação online em Java

RUI ROSSI DOS SANTOS PROGRAMAÇÃO DE COMPUTADORES EM. Java

UNIVERSIDADE DO VALE DO ITAJAÍ CENTRO DE CIÊNCIAS TECNOLÓGICAS DA TERRA E DO MAR CURSO DE CIÊNCIA DA COMPUTAÇÃO

Utilizando o framework AppTV no desenvolvimento de aplicações para TV Digital Interativa

UNIVERSIDADE FEDERAL DO AMAZONAS INSTITUTO DE CIÊNCIAS EXATAS PROGRAMA DE PÓS-GRADUAÇÃO EM INFORMÁTICA

Descrição. Implementação. Departamento de Informática e Estatística Universidade Federal de Santa Catarina LAB 4 Transferência de Arquivos

Prática da Disciplina de Sistemas Distribuídos Serviços Web IFMA DAI Professor Mauro Lopes C. Silva

Ginga-J: O Java na TV brasileira e no mundo! Os novos avanços rumo à TV Interativa

Linguagem de Programação JAVA. Técnico em Informática Professora Michelle Nery

Java Laboratório Aula 1. Divisões da Plataforma. Introdução a Plataforma Java. Visão geral da arquitetura da

PADRÕES DE MIDDLEWARE PARA TV DIGITAL

I N T R O D U Ç Ã O W A P desbloqueio,

Exercício 1 : As classes abaixo serão utilizadas neste exercício: public class Ponto { int x; int y; public Ponto(int x, int y){ this.

Transcrição:

Desenvolvendo aplicações para TV Digital e Interativa utilizando JAVA TV ê çã (1) (2) Financiamento:

Introdução Principais conceitos Padrões TVDI Sistema Brasileiro de TV Digital Plataformas de Desenvolvimento Implementação JAVA TV Programas e Aplicações Considerações Finais Contatos e Perguntas

Introdução O que é TVDI? Conjunto de tecnologias que permitem potencializar o uso do televisor agregando qualidade de som e imagem (CD) e possibilidade de interatividade com o telespectador. Conceitos Televisão Digital : tecnologia de transmissão. Televisão Interativa : fluxo da programação e do serviço.

Infra-estrutura Transmissão de dados STB Canal de retorno

DVB-T (europeu) ATSC (americano) ISDB-T (japonês) [1,2,3]

Teletexto e guia de programação eletrônica Teletexto Guia de programação eletrônica

Outras aplicações Buscas na guia de programação Informação da programação

Disney Channel Teletexto, chat, compras, pesquisas...

Channel BBC Teste de QI, Quiz

Sistema Brasileiro de TV SBTVD [9] Digital (SBTVD) Modelo de referência da TV Digital no Brasil. Baseado no ISDB-T Documentos: I-CAN 3000 (STB) SBTVD Terrestre. Modelo de Referência. OS 40539 [9] SBTVD Terrestre. Arquitetura de Referência.OS 40.541 [9] SBTVD Terrestre. Especificação Técnica de Referência. OS 40544 [9]

Plataformas de Desenvolvimento JAVA TV [10] Aplicações baseadas na linguagem JAVA Nested Context Language (NCL) Linguagem de formatação da PUC-Rio baseada em xml SBTVD [9] Middleware Ginga Ginga-j (UFPB) e Ginga-ncl (PUC-Rio)

JAVA TV Pacote JAVA TV API [10] JMF AWT e outros.. Xlets Emulador Xletview [8] Construindo uma aplicação Esqueleto de uma Xlet Ref...

JAVA TV - Codificando Bibliotecas e pacotes para aplicação package helloworldxlet; import java.awt.color; import java.awt.font; import org.havi.ui.hscene; import org.havi.ui.hscenefactory; import org.havi.ui.hscreen; import org.havi.ui.hstatictext; Outros pacotes JAVA podem ser utilizados Pacote HAVI import xjavax.tv.xlet.xlet; import xjavax.tv.xlet.xletcontext; import xjavax.tv.xlet.xletstatechangeexception; Xlets

JAVA TV - Codificando Implementar classe abstrata Estrutura básica da Xlet e objetos necessários public class HelloWorldXlet implements Xlet{ XletContext contexto; HStaticText labelhello; HStaticText labelteste; HScene scene;...... } Declaração de objetos básicos para criar o cenário

JAVA TV - Codificando // Implementar métodos da classe abstrata Xlet. Métodos da classe abstrata Xlet //Executado quando a Xlet é carregada. (pré-configurações) public void initxlet() //Executado quando a Xlet é iniciada public void startxlet() //Executado quando a Xlet é parada public void pausexlet() //Executada quando a Xlet termina public void destroyxlet()

JAVA TV - Codificando public void initxlet(xletcontext contexto) throws XletStateChangeException{ this.contexto=contexto; scene=hscenefactory.getinstance().getfullscreenscene(hscreen.getdefaulthscreen(). getdefaulthgraphicsdevice()); Criando cena. void initxlet() labelhello = new HStaticText("GRUPO GAMA"); labelhello.setfont(new Font("Tiresias",Font.BOLD,30)); labelhello.setbounds(150,150,400,100); labelhello.setforeground(color.white); labelhello.setbackground(new Color(255,0,0,150)); //label teste labelteste = new HStaticText("STB GAME"); labelteste.setfont(new Font("Verdana",Font.BOLD,35)); labelteste.setbounds(200,200,300,100); labelteste.setlocation(200,300); labelteste.setforeground(color.blue); //Alpha color ou não.. labelteste.setbackground(new Color(200,200,200,100)); scene.add(labelteste); Adicionando objetos a cena scene.add(labelhello); } Configurando objetos...

JAVA TV - Codificando startxlet() pausexlet() destroyxlet() public void startxlet() throws XletStateChangeException{ scene.setvisible(true); } public void pausexlet(){ } Indicando que objetos da cena (HScene) devem aparecer. public void destroyxlet(boolean condicao) throws XletStateChangeException{ contexto.notifydestroyed(); }

JAVA TV - Codificando Nome da aplicação Localização das classes Compilar e carregar no XletView <APPLICATION> <NAME> Hello world... </NAME> <PATH>C:\xlet\projetos\testes\GameStb\classes</PATH> <XLET>controletela.tela</XLET> </APPLICATION> Pacote.classe_que_implementa_xlet

JAVA TV - Codificando Inserindo imagens // Bibliotecas import javax.swing.imageicon; import java.awt.image.*; //Objetos Image imgfundo; Image imgvermelho; //Icones HIcon iconefundo=null; HIcon iconevermelho=null; // Carregando imagens imgfundo = new ImageIcon("c:/xlet/projetos/testes/jogomemoria/lib/textura.gif").getImage(); imgvermelho = new ImageIcon("c:/xlet/projetos/testes/jogomemoria/lib/vermelho.gif").getImage();

JAVA TV - Codificando Inserindo imagens //Preparando icone... iconefundo = new HIcon(imgFundo); iconefundo.setsize(720,576); iconefundo.setlocation(0,0); iconefundo.setvisible(true); //cores... Na ordem do controle! iconevermelho = new HIcon(imgVermelho); iconevermelho.setsize(119,127); iconevermelho.setlocation(300,150); iconevermelho.setvisible(true); iconevermelho.addkeylistener(this); //Adicionando conteudo no container container.add(titulo); container.add(iconevermelho);

JAVA TV - Codificando Inserindo sons // HSound fica na biblioteca HAVI... //Objetos HSound somok=null; HSound somerro=null; String somurlok = "file://c://xlet//projetos//testes//jogomemoria//lib//win.mp2"; String somurlerro = "file://c://xlet//projetos//testes//jogomemoria//lib//lose.mp2"; //Carregando somok = new HSound(); somerro = new HSound(); try{ somok.load(somurlok); somerro.load(somurlerro); } catch (Exception e){ e.printstacktrace(); System.out.println("Nao achou o arquivo!"); }

JAVA TV - Codificando Inserindo sons // Método para disparar som public void tocaracerto(){ System.out.println("Tocando Acerto.. : "+this.somok); somok = new HSound(); try{ somok.load(somurlok); } catch (Exception e){ e.printstacktrace(); System.out.println("Nao achou o arquivo!"); } this.somok.play(); } //tocarerro() mesma implementação

JAVA TV - Codificando Inserindo vídeos //Bibliotecas import java.awt.component; import java.io.ioexception; import javax.media.*; import javax.media.protocol.*; import org.havi.ui.*; // Classe abstrata.. public class MeuPlayer extends HContainer implements ControllerListener{ String VIDEO_URL = ""; private Player player; HContainer container; public javax.media.medialocator locator; XletNaointerativa pai; public MeuPlayer(XletNaointerativa obj){ System.out.println("Construtor do player 0.1"); this.pai=obj; System.out.println("Saiu do construtor!"); }

JAVA TV - Codificando Inserindo vídeos //Carregando vídeo desejado.. public void setchannel(int num){ System.out.println("Valor de num: "+num); switch (num){ case 1:{ //c://xlet///videos// VIDEO_URL = "file://c://xlet///videos//tarvoreintro.avi"; break; }... } public void startplayer(){ locator = new javax.media.medialocator(video_url); System.out.println("Iniciouuuuuuuu!"); try { DataSource playingdatasource = Manager.createDataSource(locator); player = Manager.createPlayer(playingDataSource); player.addcontrollerlistener(this); player.start(); }

JAVA TV - Codificando Inserindo vídeos //Carregando vídeo desejado.. public Component getplayer(){ return player.getvisualcomponent(); } //Pausando... public void pausevideo() { player.stop(); } //Finalizando.. public void TerminarPlayer(){ player.stop(); player.close(); } } // ---------- Termina classe Meu Player (Vamos utiliza-la na Xlet) // NA XLET MeuPlayerInicial player = new MeuPlayerInicial(this);

JAVA TV - Codificando Inserindo vídeos // Criando container para vídeo.. contvideo= new HContainer(0,0,720,515); contvideo.setvisible(true); scene.add(contvideo); scene.repaint();

Programa Turma da Árvore (1) (2) (3) Financiamento:

Programa Turma da Árvore Parceria com as instituições: PUC-RJ UFPB Financiamento:

Programa Turma da Árvore Ana Virgulino Kiko Anaximandro Sayuri (Sá)

Programa Turma da Árvore Acionando interatividade

Programa Turma da Árvore Escolhendo perfil de usuário

Programa Turma da Árvore Assistindo vídeo

Intercomunicador Canal de retorno: sim Tipo: Comunicação (Chat) Sistema Distribuído Arquitetura: Cliente Servidor Requisitos: Sincronização de mensagens Interface Teclado virtual Modelo keyboard x celular Problemas Interface de entrada Bastante agressivo a ergonomia Controle Remoto XletView [8]

Jogo da memória e operações Canal de retorno: não Tipo: Educacional Aplicativo educacional Jogo das Operações Operações aritméticas Interface» Simples Jogo da Memória Repita a seqüência Interface:» Rápida Principal objetivo Aumentar interesse e participação Jogo das Operações Jogo da Memória

Jogo do lixo Canal de retorno: não Tipo: Educacional Aplicativo educacional Coleta seletiva do lixo Interface Requisitos Simples e rápida Genérica Botões de cor Controle Remoto XletView [8]

TV Digital Padrão estabelecido Demanda por software Mercado de Comunicação Brasil Europa (MHP<-Java TV) Pesquisa em Alta IHC Hipermídia Engenharia de Software

[1] DVB Digital Video Broadcasting. ETSI EN 300 74: Framing structure, channel coding and modulation for digital terrestrial television version 1.2.1 1999. Disponivel em: <www.etsi.org> [2] ATS Advanced Television Systems I. ATSC Standart A/53B with Amendments I and II: ATSC Digital Television Standart Rev. B 2001. Disponivel em:<www.atsc.org>. [3] ARIB Association of Radio Industries and Business Terrestrial Integrated Services Digital Broadcast ISDB-T: Specification of Channel Coding, Framing Structure and Modulation (ISDB-T 2001). Disponivel em: www.diberg.org/documents/isdb-t_spec_pdf [4] CPQD. Telecom e IT Solutions. Panorama mundial de modelos de exploração e implantação: Projeto Brasileiro de Televisão Digital OS: 40539, Brasil, 2005. [5] IBGE. Pesquisa Nacional por Amostra de Domicílios - PNAD 2005. Disponível em: <http://www.ibge.gov.br/home/estatistica/populacao/trabalhoerendimento/pnad2004/default.s htm> [6] STEUER, Jonathan. Self vs. Other; Agent vs. Character; Anthropomorphism vs. Ethopoeia. In Vividness and Source of Evaluation as Determinants of Social Responses Toward Mediated Representations of Agency, doctoral dissertation, Stanford University. 1995. [7] RHODES, D.M ; AZBELL, J.W.. Designing interactive video instruction professionally: Training and Development Journal, 1985. [8] SVEDEN, Martin. XleTView Emulator. Disponível em:<xletview.sourceforge.net/> [9] Sistema Brasileiro de TV Digital. Disponível em: < http://sbtvd.cpqd.com.br/ > [10] SUN Microsystems.JAVA TV API. Disponível em: < java.sun.com/products/javatv/ >

saibel@unifacs.br clarisse.braga@unifacs.br Tatiana Aires (1,2) tati@unifacs.br thiago.assis@inf.ufrgs.br Perguntas?