导出到jar后没有声音

Sk1*_*1X1 5 java eclipse audio embedded-resource

我的应用程序有问题.当我在Eclipse中运行应用程序时,声音播放效果很好,但如果我将应用程序导出到runnable jar,则声音不起作用.

播放声音的方法:

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();
        }
Run Code Online (Sandbox Code Playgroud)

哪里可能是个错误?

Sk1*_*1X1 7

问题在于此

AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResourceAsStream("sound.wav"));
Run Code Online (Sandbox Code Playgroud)

在JAR文件中getResourceAsStream因任何原因无法正常工作.所以我用以下代替getResource:

AudioInputStream inputStream = AudioSystem.getAudioInputStream(getClass().getResource("sound.wav"));
Run Code Online (Sandbox Code Playgroud)

这很好用.