如何使用.jar文件包含音乐文件?

Tus*_*rul 1 java javasound embedded-resource

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

Pau*_*ald 5

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

没有任何代码可以查看,我猜你正在尝试使用FileInputStream,或类似的,这是行不通的,因为jar文件没有传统文件系统的概念.