2

我有一个简单的播放器,我正在使用第三方库。完全相同的代码在我的 Fedora 桌面上运行。但是当我在其中使用完全相同的代码时,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)
4

1 回答 1

0

您是否尝试过 捕捉 Throwable?

try{ ...
} catch(Throwable t){ t.printStackTrace(); }

如果没有,它会打印任何东西吗?

如果您事先声明该 Bus 类并稍后在连接中使用它,行为会改变吗?

于 2011-10-25T20:19:38.990 回答