首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何播放存储在java项目中的mp3音频?

如何播放存储在java项目中的mp3音频?
EN

Stack Overflow用户
提问于 2019-12-21 07:06:31
回答 1查看 84关注 0票数 0

大多数解决方案都告诉我使用File类,但我计划使用存储在Java项目中的音频。如果我制作了一个.exe文件,当我使用file类的时候,它能工作吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-12-23 04:18:37

如果您使用的是JavaFX,则可以使用direct support for MP3。我刚发现这个页面,还没有试过使用它。我一直使用javax.sound.sampled.SourceDataLine进行音频输出,并根据需要添加库以处理压缩格式。github上有一些有用的库:https://github.com/pdudits/soundlibs。其中,我只对ogg/vorbis编码的wav文件使用了jorbis库。但是这里的mp3解码器已经存在很长一段时间了,已经在无数项目中使用,应该可以工作。

就打包音频资源而言,需要记住的一件关键事情是文件系统不能“看到”jar文件。因此,只要资源被打包到jar中,File address基本上就是无用的。但是URL可以指定一个jarred文件。通常的做法是为项目创建一个可由相对地址指定的" resource“文件夹,并使用其URL加载资源。可以使用.getResource method of Class获取该网址

例如,如果您的项目中有一个名为"AudioHandler“的类,位于包位置"com.dory.mymediaplayer",还有一个子文件夹" /res ",以及/res中的mp3文件"audiocue01.mp3”,则获取mp3文件的URL的行将如下所示:

代码语言:javascript
复制
URL url = AudioHandler.getClass().getResource("res/audiocue01.mp3");

但是,根据用于解码mp3的库的需要,您可能需要使用.getResourceAsStream方法。getResourceAsStream方法返回InputStream而不是URL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59432208

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档