我正在编写一个 Java 程序,我想将一个 ogg 文件转换为 mp3 文件。
我花了很多时间试图找到一个好的图书馆来做到这一点,但目前没有成功。
我想我需要一个 ogg 解码器(jorbis ?)和一个 mp3 编码器(lameOnJ ?)。
此外,一旦转换完成,我需要在文件中设置一些标签(艺术家/曲目标签等)。
这是一个 Windows 和 OS X 应用程序。
您能否给我任何有关如何处理的提示,如果可能的话,请提供示例。
谢谢
你有很多选择,这取决于你要付出多少努力,以及你对执行平台有什么限制。
许多开发人员会简单地对外部解码/编码/标签可执行文件进行 System.exec() 调用,将中间文件写入磁盘。这有点笨拙,但是一旦正确设置,它就可以工作。
一个更复杂的选择是使用库,例如您找到的库。您仍然可以使用文件系统来临时存储未压缩的版本。
但是,您可以通过流水线避免存储中间步骤 - 并且可能使其更快。您需要将解码器的输出作为编码器的输入,并将它们都设置好。
这个细节取决于API。如果幸运的话,它们可以处理块,并且您可以在单个线程中管理它们。
如果它们与流一起使用,您可能需要亲自动手并使用线程。编码器一个线程,解码器一个线程。