2013-04-16 9 views
5

पर निर्यात के बाद कोई आवाज नहीं है मुझे अपने ऐप के साथ समस्या है। जब मैं ग्रहण में ऐप चलाता हूं, ध्वनि अच्छी तरह से खेला जाता है, लेकिन अगर मैं रनने योग्य जार में ऐप निर्यात करता हूं, तो ध्वनि काम नहीं करती है।जार

विधि, जहां ध्वनि खेला जाता है:

public static synchronized void playSound() 
    { 
      new Thread(new Runnable() 
      { 
       // The wrapper thread is unnecessary, unless it blocks on the 
       // Clip finishing; see comments. 
       public void run() 
       { 
        try 
        { 
         Clip clip = AudioSystem.getClip(); 
         AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav")); 
         clip = AudioSystem.getClip(); 
         clip.open(inputStream); 
         clip.start(); 
        } 
        catch (Exception e) 
        { 
         System.err.println(e.getMessage()); 
        } 
       } 
      }).start(); 
     } 

कहाँ एक गलती हो सकता है?

+1

क्या लहर फ़ाइल JAR में मौजूद है? –

+0

मैंने अनपैक जार फ़ाइल की कोशिश की और मुझे वहां तरंग फ़ाइल मिली। – Sk1X1

उत्तर

6

समस्या में इस

AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav")); 
JAR फ़ाइल में

किसी भी कारण से काम नहीं कर रहा getResourceAsStream है। इसलिए मैं इसे getResource:

AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResource("sound.wav")); 

और यह ठीक काम करता है।

+0

एक ही समस्या थी और यह मेरे लिए काम किया। आप एक आदमी। – kwikness

+0

वाह जो अजीब है – Ajay