domingo, 6 de abril de 2008

tutorial: como exibir vídeo no XletView

para exibir vídeos de background no XletView, de maneira rápida e simples, basta alterar o arquivo channels.xml contido na pasta config do XletView.

no meu computador este arquivo se encontra em:
C:\Arquivos de programas\Java\xletview-0.3.6\config\channels.xml
obviamente, vai depender de onde você instalou o XletView...

altere o arquivo para que o conteúdo fique conforme abaixo:
você deve alterar o conteúdo do nodo media, apontando para um vídeo codificado com o codec Cinepak. ISTO É MUITO IMPORTANTE... se for outro formato o XletView gerará um erro e não exibirá o vídeo.

li no forum Java TV que há como exibir vídeos de outros formatos utilizando o Fobs, mas eu não consegui.

para converter seus vídeos para o formato AVI Cinepack utilize o software RAD Video Tools.

ah, e não se empolgue como eu achando que basta adicionar canais ao arquivo channels.xml e acionar o controle remoto para trocá-los... não é assim que funciona. como eu não tive tempo de me aprofundar mais, não sei se há como trocar de canal utilizando programação. imagino eu que sim... se alguém descobrir como, por favor, comente aqui.

alternativamente, se você apenas deseja alterar a imagem estática de fundo do XletView (a imagem dos "chuviscos"), altere no arquivo config\settings.txt o caminho da imagem:
file.defaultbg=config/defaultbg.jpg

coloque a imagem que quiser. fácil né?

"o difícil é saber qual parafuso apertar" : )

abraço a todos e sucesso!

leia mais no fórum Java TV:
How to play a mpg file in xlet viewer
Watching an avi file in Xletview

5 comentários:

  1. Olá Marcos,
    Muito bom! :-) Consegui colocar o vídeo para aparecer, mas tenho duas questões:

    1) A qualidade não ficou muito boa;

    2) Eu usei aquele primeiro código e percebi que o vídeo fica em cima do texto criado.

    pode me ajudar com o segundo tópico, tipo se eu quiser que o texto aparece sobre o vídeo.

    ResponderExcluir
  2. Emerson,

    o problema do exemplo da revista Mundo Java (que imagino ser o "primeiro código" que vc fala) é que os labels são adicionados diretamente ao objeto Scene:

    scene.add(label1);
    scene.add(label2);

    Vc deve criar um objeto HContainer, adicionar os labels a esse Container e depois o Container ao Scene:

    HContainer mainContainer = new HContainer(20,20,650,400);
    mainContainer.add(label1);
    mainContainer.add(label2);
    mainContainer.setVisible(true);
    scene.add(mainContainer);

    sugiro a leitura destes posts do forum Java TV:
    - How can I set the background color to the HContainer?
    - two HContainer

    sobre a qualidade, aí é questão do Codec mesmo... mas não espere muito do XletView, ele serve apenas pro básico do básico,

    Abraço e sucesso!

    Marcos

    ResponderExcluir
  3. Cara consegui também, bem simples mesmo como exemplificado. Outra dúvida, alguém sabe fazer a conexão do xletview com um banco de dados? tentei o mysql e não funciona, não abre conexão, alguem sabe de algo? Grato.
    Marcos Aurélio

    ResponderExcluir
  4. Marcos,

    acredito que num ambiente real vc não conseguirá fazer essa operação.

    Sugiro tentar requisições HTTP a um Web Service. Eu nunca tentei, mas conforme o que eu tenho lido, deve funcionar.

    Você não terá o My Sql no set-top-box, portanto, precisará acessar pelo canal de retorno o banco de dados no servidor (coisa que eu não soube de ninguém que tivesse conseguido).

    Eu trabalho com arquivos XML para armazenamento local, não utilizei banco de dados nas minhas aplicações.

    O ambiente que temos disponível é muito, mas muuuito limitado.

    Para um desenvolvimento profissional precisaremos de ferramentas bem mais completas.

    ResponderExcluir
  5. Marcos, tentei de tudo para fazer a comunicação com o web Service, ele funciona normal, requisita e mostra o resultado, porém ao tentar conectar o xlet no web da o erro java.lang.noclassdeffounderror, minha sina esse erro. Vc escreve no xml usando o nanoxml ou xstream ou outro? Precisando urgente de uma dica para terminar minha aplicação, vlu.

    ResponderExcluir