Почему метод main.replay () не выполняется в Java? Но точно такой же код работает в Fedora, а не в Archlinux - PullRequest
2 голосов
/ 18 октября 2011

У меня есть простой плеер, я использую сторонние библиотеки.Точно такой же код работает на моем рабочем столе 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)

1 Ответ

0 голосов
/ 26 октября 2011

Вы пробовали ловить Throwable?

попробуй {...
} catch (Throwable t) {t.printStackTrace (); }

Если нет, то печатает ли что-нибудь?

Если вы объявите этот класс Bus заранее и будете использовать его позже в connect, изменится ли поведение?

...