我正在用Java编程Java.
我最近尝试在我的程序中播放声音文件.我这样做了:
URL url = this.getClass().getResource("ih.wav"); audioIn = AudioSystem.getAudioInputStream(url); clip = AudioSystem.getClip(); clip.open(audioIn); clip.start();
这只有用,当我试图将ih.wav放在bin文件夹中时,好像bin文件夹是我项目的"基本文件夹".将文件放在项目的主文件夹中,不起作用.将它放在src文件夹中,也不起作用.
有人可以向我解释将我的资源用于Java程序的位置吗?另外,如果我将资源导入Eclipse中,这有关系吗?谢谢
编辑:
试图在主项目文件夹中创建一个资源文件夹,仍然给我一个NullPointerException:
URL url1 = this.getClass().getResource("res/ah.wav"); audioIn = AudioSystem.getAudioInputStream(url1); clip1 = AudioSystem.getClip(); clip1.open(audioIn); URL url2 = this.getClass().getResource("res/eh.wav"); audioIn = AudioSystem.getAudioInputStream(url2); clip2 = AudioSystem.getClip(); clip2.open(audioIn); URL url3 = this.getClass().getResource("res/ih.wav"); audioIn = AudioSystem.getAudioInputStream(url3); clip3 = AudioSystem.getClip(); clip3.open(audioIn); clip1.start(); clip2.start(); clip3.start();
MadProgramme.. 6
警告:我不使用Eclipse,我从未使用过Eclipse,我对Eclipse的了解相当于阅读其他帖子并在此处回答问题
在您的项目下,创建一个名为的目录resources
.在此处,您可以在应用程序中放置要访问的所有"资源".这些将与您的应用程序捆绑为嵌入式资源.
从您的应用程序中使用
this.getClass().getResource("/ah.wav")
要么
this.getClass().getResource("/resources/ah.wav")
假设您将文件放在resources
路径的顶层.如果他们在子目录中,您需要提供完整路径...
清洁,构建和测试
警告:我不使用Eclipse,我从未使用过Eclipse,我对Eclipse的了解相当于阅读其他帖子并在此处回答问题
在您的项目下,创建一个名为的目录resources
.在此处,您可以在应用程序中放置要访问的所有"资源".这些将与您的应用程序捆绑为嵌入式资源.
从您的应用程序中使用
this.getClass().getResource("/ah.wav")
要么
this.getClass().getResource("/resources/ah.wav")
假设您将文件放在resources
路径的顶层.如果他们在子目录中,您需要提供完整路径...
清洁,构建和测试