【发布时间】:2014-02-10 14:14:17
【问题描述】:
遗憾的是,Java 中缺乏对 MP3 的支持。我正在开发一个需要接收 MP3 块并播放它们的应用程序。我正在使用这样的 Jlayer MP3 库:
import javazoom.jl.player.Player;
public class MP3 {
private String filename;
private Player player;
// constructor that takes the name of an MP3 file
public MP3(String filename) {
this.filename = filename;
}
public void close() { if (player != null) player.close(); }
// play the MP3 file to the sound card
public void play() {
try {
FileInputStream fis = new FileInputStream(filename);
BufferedInputStream bis = new BufferedInputStream(fis);
player = new Player(bis);
}
catch (Exception e) {
System.out.println("Problem playing file " + filename);
System.out.println(e);
}
player.play();
}
但我的问题是我只有完整 MP3 文件的一部分,我需要在它们到达时播放它们。有没有更好的选择?
编辑
发现了一个有趣的类似问题:MP3 won't stream with JMF 另外:Decoding MP3 files with JLayer
【问题讨论】:
-
你应该看看这个帖子,已经解决了这个简单步骤后的问题stackoverflow.com/questions/14410344/…
-
@GhostDerfel:我认为这仅适用于浏览器?...我需要从桌面应用程序中播放它
-
嗯,你是对的,从来没有为桌面应用程序这样做过......只有 web 和 Android ,对不起 :(。如果我找到了一些东西,我会在这里发布作为参考
-
我觉得这个值得一试github.com/Hotware/HotSound