代码之家  ›  专栏  ›  技术社区  ›  M.N

Java中的MP3编码

  •  10
  • M.N  · 技术社区  · 16 年前

    我需要一个Java中的开源API,它可以对MP3编码*.wav和*.u格式,反之亦然。

    我已经评估了Java声音API和 LameOnJ 但它们分别不符合我的要求和不稳定。请推荐一个免费的平台独立的。

    5 回复  |  直到 9 年前
        1
  •  6
  •   jamesh    16 年前

    您可能还没有足够的答案,因为MP3格式要求解码器/编码器的作者从弗劳恩霍夫研究所获得许可证。

    我认为劳盟图书馆是从一个不尊重这些知识产权问题的国家发行的,但要做到这一点需要大量的法律黑客。

    对于任何其他的库——例如用Java编写的库,作者需要得到类似的许可证。如果成本是一个问题,例如在开源项目中,那么这就足以抑制启动。

    有关详细信息,请参阅 wikipedia article .

    如果lame4j对你来说不够稳定,那么恐怕你的选择可能是:

    • 等待Sun许可核心JRE的格式。这一点,我相信他们最近已经做了,但我不知道任何发布日期(可能与JavaFX有关)
    • 在Java中实现你自己的,并支付许可证。我也不喜欢这个。
    • 通过JNA或SWIG将自己的Java包装器写入LAME
    • 帮助LAM4J。
    • 选择另一种格式。ogg和flac相当好,支持也比较好。
        2
  •  4
  •   HafkensitE    13 年前

    已经有一段时间了,但是Oracle/Sun已经发布了对JMF的MP3支持。可以从以下URL下载: http://www.oracle.com/technetwork/java/javase/tech/index-jsp-140239.html

    将其添加到类路径将允许通过音频系统API进行播放。

        3
  •  2
  •   Serghei Burtsev    14 年前

    LAM4J使用免费但有时间限制的许可证,而无限制的许可证将花费您一些钱。

    我找到了 Lamejb library 在sourceforge上,它只需要lame二进制文件,并且在没有任何额外许可的情况下工作得很好。

        4
  •  1
  •   Aaron Digulla    16 年前

    使用 Process API 调用 SoX

    SOX附带源代码或作为Windows和Mac的预编译二进制文件。

        5
  •  1
  •   kenchis    14 年前

    如果您正在搜索纯Java版本的LAME,请检查这些源: http://jsidplay2.cvs.sourceforge.net/viewvc/jsidplay2/jump3r/