用Java分解MP3文件

3

什么是将MP3读入并将其转换为最基本的振幅波形(可以表示可视化波形上的点的浮点数)的最流行方法/API?然后,我如何使用这个基本值将其播放出来在计算机的音频输出上?(所有这些都在Java中完成)


(所有这些都在Java中完成),换句话说,您是在要求我们为您编写一个完整的应用程序? - mohdajami
不,我不是。我想知道应该使用哪个API(或一组API),如果有相关的教程文件,也请提供指引。 - user400055
你可以花220美元购买规格,然后从那里开始解决问题。 - Hot Licks
1个回答

0
你可能想看一下LAMEOnJ。它是LAME的Java封装(JavaDoc)。
至于将字节数组转换为浮点数数组,可以导入java.nio.ByteBufferjava.nio.ByteOrder,然后执行以下操作。
float floatVal = ByteBuffer.wrap(array).order(ByteOrder.nativeOrder()).getFloat();

这应该可以让你得到一个浮点数数组。至于播放它,你可以为每个浮点值分配一个音高。


这可能适用于未压缩格式,但对于MP3文件,您必须读取数据帧并解压缩它们,这不是一项简单的任务。 - Viruzzo
只是一些小事情:它不是一个“实现”,而是标准LAME(本地)库的“包装器”;其次,它使用了一个商业的、闭源的产品(我无法理解没有明显原因)。也许最好的做法是从头开始创建一个更简单的库的包装器(也许是一个更简单的库)。 - Viruzzo
很多东西如果定制编码会更好!:P我基于ExtremeCoder正在请求API这一事实来回答。 - eggonlegs
如果我有更好的答案,我会给你点个踩;但事实上,我只是想指出你的一些缺点。 - Viruzzo
哦,我的最后一条回复的第一部分显示“0个反对票”……奇怪——是某种错误吗?无论如何,你提出了有关缺点的好建议。谢谢! :) - eggonlegs
小铅笔图标表示评论已被编辑。 - Viruzzo

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