eu fiz uma aplicação aqui no ubuntu 9 pra rodar vídeos e deu certo, mas se eu tento no ubuntu 8.4 dá vaários erros :s
Alguem pode ajudar?
Vlw
eu fiz uma aplicação aqui no ubuntu 9 pra rodar vídeos e deu certo, mas se eu tento no ubuntu 8.4 dá vaários erros :s
Alguem pode ajudar?
Vlw
Não está encontrando a biblioteca nativa a qual sua aplicação invoca, ou seja, o arquivo .so que tem esses métodos que você está tentandco invocar.
Então na teoria seria só jogar esse .so na biblioteca?
Pelo que vi, você está usando o JNA (que chama o VLC) para reproduzir um vídeo.
O VLC está devidamente instalado?
Não seria mais interessante usar um código multiplataforma? O método Desktop.open(File) resolve isso em qualquer plataforma (chama o reprodutor padrão do sistema para executar o vídeo).
Pelo que vi, você está usando o JNA (que chama o VLC) para reproduzir um vídeo.O VLC está devidamente instalado?
Não seria mais interessante usar um código multiplataforma? O método
Desktop.open(File)resolve isso em qualquer plataforma (chama o reprodutor padrão do sistema para executar o vídeo).
Então, nem rola pq a minha aplicação é em java e roda videos, imagens e texto em várias tvs de plasma. Tem que ser pelo java mesmo 
Depois que eu jogo la na /usr/lib esse so que ta faltando ele da erro na libc,so.6 , Alguem sabe oq pode ser?
Acho que o problema é incompatibilidade de versões (sempre que você usar JNI/JNA isso pode ocorrer). Você deve instalar o VLC via repositório no Ubuntu 8.04 e não levar uma biblioteca do 9.10 por causa da compatibilidade de versões.
Só para constar, o libc.so.6 é uma biblioteca presente no pacote libc6.
No Karmic (9.10), a versão é a 2.10.1-0ubuntu15, enquanto que no Hardy (8.04) é 2.7-10ubuntu3.
Como o libvlc.so depende diretamente de libc.so, você terá que instalar o pacote libvlc0-dev do repositório no Hardy.
No linux 8.04 eu instalo o vlc por apt-get , não to tentando levar a biblioteca do 9 para o 8, só to usando o programa.
Qual o erro (completo) que aparece?
Exception in thread “Thread-2” java.lang.UnsatisfiedLinkError: Error looking up function ‘libvlc_media_list_new’: /usr/lib/libvlc.so: undefined symbol: libvlc_media_list_new
at com.sun.jna.Function.(Function.java:179)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:345)
at com.sun.jna.NativeLibrary.getFunction(NativeLibrary.java:325)
at com.sun.jna.Library$Handler.invoke(Library.java:203)
at com.sun.jna.Native$4.invoke(Native.java:822)
at $Proxy0.libvlc_media_list_new(Unknown Source)
at org.videolan.jvlc.MediaList.(MediaList.java:54)
at org.videolan.jvlc.JVLC.init(JVLC.java:72)
at org.videolan.jvlc.JVLC.(JVLC.java:67)
at view.MostraAvisos.inicializarInformacoes(MostraAvisos.java:231)
at view.MostraAvisos.run(MostraAvisos.java:83)
at java.lang.Thread.run(Thread.java:619)
Bad news…
A implementação em Java do VLC 0.8 (o usado no Ubuntu 8.04) é totalmente diferente da atual (VLC 1.0.x). Antes era usado JNI, agora é JNA.
Sem contar que os métodos mudaram (vários e vários métodos).
Ou seja, você não conseguirá fazer que seu programa rode em diferentes versões.
Mas ainda não entendi muito bem: porque você não usa Desktop.open()?
Então, é pq a aplicação q eu criei gerencia anúncios em várias Tvs de plasma. Se eu usar o Desktop vai abrir com o programa padrão, mas não vai setar em fullscrean, que é a necessidade. Teria alguma outra idéia?
Vlw pelas respostas 
Você poderia postar seu método inicializarInformacoes() aqui?
não entendi cara
Coloque aqui no fórum o código do seu método inicializarInformacoes() da classe MostraAvisos para que possamos ver.
jvcanvas = new java.awt.Canvas();
jvcanvas.setSize(500, 500);
String[] arg = new String[4];
arg[0] = "--intf=dummy";
arg[1] = "--ignore-config";
arg[2] = "--no-plugins-cache";
arg[3] = "--plugin-path=plugins";
jvlc = new JVLC(arg);
MediaDescriptor mediaDescriptor = new MediaDescriptor(jvlc, file.getAbsolutePath());
MediaPlayer mediaPlayer = mediaDescriptor.getMediaPlayer();
mediaPlayer.play();
while (!(mediaPlayer.hasVideoOutput()))
{
try
{
Thread.sleep(100L);
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
}
Video video = new Video(jvlc);
System.out.print(video.getWidth(mediaPlayer));
System.out.print("x");
System.out.println(video.getHeight(mediaPlayer));
System.out.print("Fullscreen... ");
video.setFullscreen(mediaPlayer, true);
try
{
Thread.sleep(100L);
}
catch (InterruptedException ex)
{
ex.printStackTrace();
}
Tava pensando: e se atualizar o vlc do ubuntu 8 para o 9?
problema resolvido: copiei a sourcelist do ubuntu 9.10 para o 8.04, dei o apt-get update depois apt-get install vlc, depois voltei a sourcelist padrão. Não é recomendado, mas deu certo para mim. :roll:
Que bom que o problema foi resolvido, mas eu fiquei com uma dúvida agora… as TVs de plasma que rodarão o programa rodam VLC??
Então, vai ser um servidor(pc) para cada 3 Tvs, e nele que irá rodar o vlc.
Ahh… entendido. Bom trabalho então!