2011-10-18 16 views
2

私はサードパーティのライブラリを使用している単純なプレイヤーを持っています。 Fedoraのデスクトップでは、まったく同じコードが動作しています。しかし、私がArchlinuxでまったく同じコードを使用している場合、main.replay()を実行することはできません。main.replay()メソッドがJavaで実行されないのはなぜですか?しかし、まったく同じコードがArchlinuxにないFedoraで動作します

何が原因ですか?

public static void play(String gsttest) 
{ 
    try { 
     gst.play(); 
     gst.getBus().connect(new Bus.EOS() 
     { 
      public void endOfStream(GObject source) 
      { 
       //_7-------------_7 
       main.replay(); //<< never getting executed in Archlinux 
       //_7------------_7  but Fedora it runs without any problem.      
      } 
     }); 

    } catch (Exception ex) { 
    }    
} 

My Java where its not working is: 

$ java -version 
java version "1.6.0_22" 
OpenJDK Runtime Environment (IcedTea6 1.10.3) (ArchLinux-6.b22_1.10.3-1-x86_64) 
OpenJDK 64-Bit Server VM (build 19.0-b09, mixed mode) 

My Java where its working is: 


$ java -version 
java version "1.6.0_22" 
OpenJDK Runtime Environment (IcedTea6 1.10.3) (fedora-59.1.10.3.fc15-i386) 
OpenJDK Server VM (build 20.0-b11, mixed mode) 
+0

try java debugger [jdb](http://download.oracle.com/javase/1.3/docs/tooldocs/solaris/jdb.html) –

+0

どのように動作していませんか?例外はありますか? – Jim

+0

何も例外はありません。単にmain.replay()を無視するだけです。しかしFedoraでは、それは単に私が直接見ることができる場所で動作します。 – YumYumYum

答えて

0

あなたはcatching a Throwable?

試し{...
}キャッチ(Throwableをトン){t.printStackTrace()を試してみました。 }

そうでない場合は何も印刷しますか?

Busクラスを手前に宣言し、後でconnectで使用すると、動作は変わりますか?

関連する問題