2013-05-05 3 views
0

J'ai testé une bibliothèque Java qui fonctionne à la fois sur les plateformes PC et Android, il y a quelques temps quelqu'un ici m'a dit d'utiliser JLayer. Aujourd'hui, je codait heureusement, puis cette exception a montré:Exception de JLayer lors de la tentative de lecture de fichier audio

java.lang.ExceptionInInitializerError 
at javazoom.jl.decoder.SynthesisFilter.load_d(Unknown Source) 
at javazoom.jl.decoder.SynthesisFilter.<init>(Unknown Source) 
at javazoom.jl.decoder.Decoder.initialize(Unknown Source) 
at javazoom.jl.decoder.Decoder.decodeFrame(Unknown Source) 
at javazoom.jl.player.Player.decodeFrame(Unknown Source) 
at javazoom.jl.player.Player.play(Unknown Source) 
at javazoom.jl.player.Player.play(Unknown Source) 
at Main.Play(Main.java:23) 
at Main.main(Main.java:164) 
Caused by: java.io.IOException: unable to load resource 'sfd.ser' 
at javazoom.jl.decoder.JavaLayerUtils.deserializeArrayResource(Unknown Source) 
... 9 more 

J'ai essayé de google la cause de cette exception sans résultat, alors je viens ici la mendicité pour votre aide.

C'est la fonction où je suis en train de lire le fichier audio:

public static void Play() 
{ 
    try 
    { 
     InputStream fis = new FileInputStream("L://POO//MyWS//WakeUp!//Back in black.mp3"); 
     Player p = new Player(fis); 

     p.play(); 

    } 
    catch(FileNotFoundException e) 
    { 
     e.printStackTrace(); 
    } 
    catch (JavaLayerException e) 
    { 
     e.printStackTrace(); 
    } 
    catch (Exception e) 
    { 
     e.printStackTrace(); 
    } 
    catch(ExceptionInInitializerError e) 
    { 
     e.printStackTrace(); 
    } 
} 

Merci à l'avance! : D

+1

* "J'ai essayé de rechercher la cause de cette exception sans résultat" * Essayez Google avec 'JLayer + ExceptionInInitializerError' et revenez nous voir après avoir vérifié ces (environ) 1 870 000 résultats, ou au moins la première page complète. –

+0

Je ne trouve rien que je n'ai pas vérifié avant, c'est pourquoi je suis venu ici. – Jhon

Répondre

0

Enfin j'utilise JLayer 1.0 et cela fonctionne comme un charme, vous pouvez l'obtenir de here. Ceci est un exemple de code que j'ai trouvé here.

EDIT: dans Eclipse, si l'erreur persiste, remplacez votre espace de travail par un nouveau.

0

La version de JLayer n'a pas d'importance pour moi.

Dans mon cas, l'importation de javazoom.jl.player.Player n'était pas suffisante. Lors de la construction de mon application dans un jar, j'ai inclus jl1.0.1.jar, mais je devais aussi m'assurer d'inclure javazoom dans le répertoire de l'ensemble de fichiers du fichier de construction.

Questions connexes