2013-04-16 36 views
5

Tôi gặp sự cố với ứng dụng của mình. Khi tôi chạy ứng dụng trong Eclipse, âm thanh phát tốt, nhưng nếu tôi xuất ứng dụng sang jar chạy được, âm thanh không hoạt động.Không có âm thanh sau khi xuất sang jar

Method, nơi âm thanh được chơi:

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(); 
     } 

đâu có thể là một sai lầm?

+1

Tệp sóng có tồn tại trong JAR không? –

+0

Tôi đã thử giải nén tệp jar và tìm thấy tệp sóng trong đó. – Sk1X1

Trả lời

6

Vấn đề là trong này

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

trong tập tin JAR không được làm việc getResourceAsStream vì lý do nào. Vì vậy, tôi thay thế bằng getResource:

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

và điều này hoạt động tốt.

+0

có cùng một vấn đề và điều này làm việc cho tôi. bạn da man. – kwikness

+0

Wow thật lạ – Ajay

Các vấn đề liên quan