Pourquoi une méthode main.replay () ne reçoit pas exécuté en Java? Mais exactement le même code fonctionne dans Fedora pas Archlinux

StackOverflow https://stackoverflow.com/questions/7809759

Question

J'ai un simple lecteur j'utilise les bibliothèques de tiers. Exactement le même code fonctionne dans mon bureau Fedora. Mais quand je suis en utilisant exactement le même code dans Archlinux il ne fonctionne pas à faire main.replay ();

Qu'est-ce qui est la cause?

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)
Était-ce utile?

La solution

Avez-vous essayé attraper un Throwable?

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

Dans le cas contraire, il n'imprimer quoi que ce soit?

Si vous déclarez cette classe Bus avant la main et l'utiliser plus tard dans la connexion, fait le changement de comportement?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top