在Java中播放广播流(shoutcast)的最佳方法是什么?

3
我想在Java中编写一个音频播放器。java.JavaFX对mp3播放有很好的支持,但我想在我的播放器中也能收听广播。
问题是我已经搜索了一段时间,但没有找到符合我要求的解决方案:
  • MP3SPI-这很好,但无法播放某些流
  • vlcj-我测试了最新版本1.2.0,但是与VLC的beta版本配合使用时,有时流会无缘无故停止。
  • NativeSwing的Windows Media Player是一个重量级组件,而且我不想让它依赖于WMP。
所以我有点运气不佳。如果您对此话题有更多了解,请分享!谢谢!
2个回答

1

在Java中进行MP3播放有点麻烦。几乎在任何情况下,它都不值得你付出的努力。

然而,this是我用过的一个很好的解决方案。它可以很容易地重新编码以播放Shoutcast流。


嗨,抱歉回复晚了(因为学校)。我在使用MP3SPI时遇到了一些问题:在Windows上它会给我“无效的HttpResponse”错误,在Linux上有一些流无法播放(http://89.47.247.59:8020/)。代码看起来与他们网站上的完全一样,但我已经用AudioInputStream in= AudioSystem.getAudioInputStream(new URL(http://89.47.247.59:8020/));替换了AudioInputStream in= AudioSystem.getAudioInputStream(file);。 - aureliangtx

1

JavaLayer(MP3SPI背后的库)是一个成熟的项目,应该可以处理大多数流,你能否发布一些它无法读取的流?请检查使用JavaLayer的其他播放器,如jlGUI,是否可以播放这些流。也许是你的代码有问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接