2016-09-01 7 views
-2

enter image description heremal à son en Java

enter image description here

enter image description here

Bonjour, je a des problèmes avec l'aide de sons en java. Je voulais juste mettre en œuvre une fantaisie sons 8-bit à mon nouveau jeu rétro 2d .... quand je le lance en java éclipse tout va bien et les sons travailler ....

mais dès que je lance l'application terminée (l'application elle-même fonctionne parfaitement ...) mais les sons ne vont pas jouer et il y a l'erreur que vous pouvez voir dans l'image 3d.

L'image 1 montre ma "méthode sonore" et l'image 2 comment je l'utilise.

Comment est-ce que j'ai pu résoudre ce problème?

+0

Possible en double; essayez ces réponses: [java.io.IOException: mark/reset non pris en charge] (http://stackoverflow.com/a/29777139/1248974), [java.io.IOException: mark/reset non pris en charge] (http://stackoverflow.com/a/5529906/1248974). Fondamentalement, "le flux d'entrée que vous avez fourni ne prend pas en charge la définition d'une marque et la réinitialisation du flux à cette marque." Essayez d'envelopper votre FileInputStream dans un BufferedInputStream "comme indiqué dans [cette réponse] (http://stackoverflow.com/a/29777139/1248974), ou utilisez un fichier audio différent qui prend en charge" mark/reset " – davedwards

+0

Dans le futur , s'il vous plaît ne pas télécharger des captures d'écran de votre code, stacktraces ou sortie de la console, mais copiez et collez le texte dans la question, mettez-le en surbrillance et appuyez sur le bouton de format de code pour faciliter le débogage. Merci ... – davedwards

+0

ohh d'accord ... cela peut expliquer les downvotes que j'ai eu ... merci de m'avoir dit que ... je ne savais pas ça et j'ai réussi à résoudre le problème. code dans ma réponse, mais merci pour votre aide de toute façon! – Janik

Répondre

0

J'ai trouvé la solution. J'ai légèrement modifié le code de ma méthode audio .... et pour une raison quelconque cela fonctionne maintenant. voici le code de celui-ci.

public void playSound(String soundFile) { 
     try { 

      AudioInputStream audioIn = AudioSystem.getAudioInputStream(this.getClass().getResource("/Sounds/" + soundFile)); 
      Clip clip = AudioSystem.getClip(); 
      clip.open(audioIn); 
      clip.start(); 
     } catch (UnsupportedAudioFileException e) { 
      e.printStackTrace(); 
      } catch (IOException e) { 
      e.printStackTrace(); 
      } catch (LineUnavailableException e) { 
      e.printStackTrace(); 
      } 
    } 
+0

N'oubliez pas d'accepter votre réponse, il va augmenter votre représentant;) – davedwards