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)
哪里可能是个错误?
问题在于此
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)
这很好用.