繁体   English   中英

如何在.jar文件中包含音乐文件?

[英]How to include a music file with a .jar file?

我的netbeans遇到问题。 我制作了一个仅播放背景音乐的程序。 当我从netbeans IDE运行该程序时,它随音乐一起运行,没有任何错误。 但是,当我尝试运行.jar文件时,程序没有音乐就可以正确运行。 我已经检查了该路径一百次,但无法正常工作。 没错,没事,音乐不是从.jar文件中播放。 为什么这样?

public static synchronized void playSound(final String url) { 
  new Thread(new Runnable() { 
    public void run() { 
     try { 
        Clip clip = AudioSystem.getClip(); 
        AudioInputStream inputStream; 
        inputStream = AudioSystem.getAudioInputStream(
            this.getClass().getResource(url)); 
        clip.open(inputStream);
        clip.start(); 
     } catch (Exception e) { 
        System.err.println(e.getMessage()); 
     } 
    } 
   }).start(); }

您应该使用getResourceAsStream(String)来访问这样的文件,您需要确保它们存在于类路径中。

没有任何代码可看,我想您正在尝试使用FileInputStream或类似的方法,因为jar文件没有传统文件系统的概念,所以它无法正常工作。

如果您想运行.jar ...,并且希望在运行.jar ...时播放音乐,那么您确实应该将音乐文件放入JAR 正如Paul Sanwald告诉您的那样, “ getResourceAsStream()”是您要使用的API。

它也将在您的IDE中工作。

我碰巧更喜欢Eclipse IDE,在Eclipse中,您将文件复制到项目中的“ src”文件夹中(在这种情况下,导出.jar时它将自动放置在正确的位置)

此链接说明了如何在NetBeans中执行此操作:

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM