在 java 中有没有比 Jlayer Lib 更好的播放 mp3 的方法?

Is there a better way to play mp3 in java than Jlayer Lib?

我正在寻找可以播放音频文件(主要是 MP3)的更好的库,我正在使用 Jlayer 但它不是最新的。 提前致谢。

JLayer 代码很长时间没有更改,但与之交互的 javax.sound.sampled 库的 API 也没有更改。虽然它在设计上总是有一些缺陷(恕我直言),但我不知道它已经坏了。

如果您希望将 JLayer 与 Maven 一起使用,例如,有一个 github repository for that. Actually, it looks like JLayer is now available through Maven.

您可能想看看引入 JavaFX 来播放音频。 class MediaPlayer 可以播放 mp3 而不需要任何额外的库。

我赞成 建议研究 JavaFX,如果您只对播放感兴趣的话。这可能是目前最简单的路线。

但如果您想更深入地挖掘,即访问音频数据,并且您使用的是 Windows 或 macOS,您可能想尝试基于 FFSampledSP. It's an FFmpeg 的解码器,支持许多还有其他流行的音频格式。

要通过 Maven 使用它,只需包含此依赖项:

<dependency>
    <groupId>com.tagtraum</groupId>
    <artifactId>ffsampledsp-complete</artifactId>
    <!-- (current version may differ) -->
    <version>0.9.32</version> 
</dependency>

完全披露:我是这个库的作者。