我如何得到一个.wav或.mid文件外netbeans播放



我为测试游戏创建了一个简单的登录屏幕,它播放。mid音乐曲调。当你将鼠标悬停在按钮上时,会播放。wav声音。当我构建+编译程序时,这两种声音都在netbeans中播放。当我在netbeans外部运行.jar文件时,它不起作用。什么建议…

注:声音在src文件夹内的一个名为resources的文件夹中。对于。mid音乐,我使用序列,对于。wav,我使用AudioInputStream等。

很可能您正在尝试访问应用程序资源,就好像它们是File一样。应用程序资源通常位于Jar文件中,必须由URL访问。要形成URL,使用如下内容:

URL urlToMid = this.getClass().getResource("the.mid");

如果不是这种情况,那么下一个最有可能的问题是资源没有包含在Jar中。

如果没有代码示例,很难帮助您。你得到一个例外吗?

我的猜测是,你的应用程序无法找到音乐文件时,NetBeans外运行。当从NetBeans运行时,你的主目录必须设置为某个值(可能指向你的src/resource文件夹),但是当你在NetBeans外部运行时,你指定了一个不同的主位置(或者根本没有)。

如果文件包含在生成的.jar文件中,另一个可能的问题是区分大小写。如果文件是从常规文件系统中加载的(例如从NetBeans中),则文件名是否区分大小写取决于操作系统的文件系统。在Windows上则不然。

一旦文件通过类加载器加载(例如使用getResource()),文件名是区分大小写的,Alert.wav是不同于alert.wav的文件。

确保源代码中的文件名与文件系统中的完全相同。

相关内容

  • 没有找到相关文章

最新更新