【问题标题】:Java getting a .wav file to run inside a .jar [duplicate]Java获取.wav文件以在.jar中运行[重复]
【发布时间】:2014-08-21 10:29:59
【问题描述】:

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

这是我当前的代码:

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

我能做些什么来解决这个问题?

【问题讨论】:

  • 介意分享您的广泛研究和您尝试过的内容吗?
  • 诸如 URL 之类的东西(它甚至没有一点作用)和其他你可以在 stackoverflow 上轻松找到的东西,但没有什么能真正起作用
  • 你确定你已经广泛研究过这个解决方案吗?如果你有,你会遇到从嵌入式资源加载文件的问题。
  • 它是如何“一点作用都没有”的?你需要更具体。你能分享你试过的代码吗?

标签: java


【解决方案1】:

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

这些资源不能像普通文件系统资源那样被访问(即通过File类),相反,你需要使用Class#getResource,它会返回一个URL,在你的情况下,它可以是,传递给AudioSystem.getAudioInputStream

你可以使用类似...

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

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

【讨论】:

    猜你喜欢
    • 2015-03-22
    • 2013-12-18
    • 2015-03-18
    • 2013-07-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    相关资源
    最近更新 更多