Java获取.wav文件在.jar中运行

时间:2014-06-30 23:41:25

标签: java

我试图在导出程序后从.jar文件中运行我的.wav文件,并对解决方案进行了广泛的研究,但发现没有任何效果。

这是我目前的代码:

        Clip clip = AudioSystem.getClip();
        clip.open(AudioSystem.getAudioInputStream(new File("soundfile.wav")));
        clip.start();

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

Jar文件的上下文中包含的资源通常称为嵌入式资源。

这些资源无法像普通文件系统资源一样访问(即通过File类),而是需要使用Class#getResource,这将返回URL,这可以在你的情况下,传递给AudioSystem.getAudioInputStream

您可以使用类似......

的内容
clip.open(AudioSystem.getAudioInputStream(getClass().getResource("/path/to/resources/soundfile.wav")));

在此示例中,路径相对于类实例的包位置。这意味着如果资源位于另一个目录中,您将需要提供资源的完整路径