为什么在Java中没有执行main.replay()方法?但是完全相同的代码在Fedora中工作,而不是在Archlinux中
我有一个简单的播放器,我正在使用第三方库。完全相同的代码在我的Fedora桌面上工作。但是当我在为什么在Java中没有执行main.replay()方法?但是完全相同的代码在Fedora中工作,而不是在Archlinux中,java,linux,fedora,openjdk,archlinux,Java,Linux,Fedora,Openjdk,Archlinux,我有一个简单的播放器,我正在使用第三方库。完全相同的代码在我的Fedora桌面上工作。但是当我在Archlinux中使用完全相同的代码时,执行main.replay()是不起作用的 是什么原因造成的 public static void play(String gsttest) { try { gst.play(); gst.getBus().connect(new Bus.EOS() { public void
Archlinux
中使用完全相同的代码时,执行main.replay()是不起作用的
是什么原因造成的
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)
公共静态无效播放(字符串gsttest)
{
试一试{
gst.play();
gst.getBus().connect(新的Bus.EOS())
{
public void endOfStream(GObject源)
{
//_7-------------_7
main.replay();//你试过了吗
试试{…
}catch(可丢弃的t){t.printStackTrace();}
如果没有,它是否打印任何内容
如果您先声明该总线类,然后在connect中使用它,行为是否会改变?您尝试过吗
试试{…
}catch(可丢弃的t){t.printStackTrace();}
如果没有,它是否打印任何内容
如果您先声明该总线类,然后在connect中使用它,行为会发生变化吗?尝试java debugger,它以什么方式不工作?是否有异常?没有异常什么,只是忽略main.replay();但在Fedora中,它只在我可以直接看到的地方工作。你看不到任何异常,因为你吃了它们。删除空的catch(Exception ex)块,或者至少执行ex.printStackTrace()@Matej:i应用了ex.printStackTrace()。它根本没有显示任何内容。请尝试java debugger,它以什么方式工作?是否有任何异常?没有异常,它只是忽略main.replay();但在Fedora中,它只是在我可以直接看到的地方工作。你看不到任何异常,因为你吃了它们。删除空捕获(异常示例)块,或者至少执行ex.printStackTrace()@Matej:i应用了ex.printStackTrace()。它完全不显示任何内容。