0

我对 MP2 音频文件和 JAVA 有疑问。无论如何,音频似乎在 JAVA 中是一种痛苦。我尝试使用 JavaLayer 和 Xuggler 将 MP2 文件解码和转码为 WAV。这两个都失败了。而这些的开发似乎并不活跃。尽管许多人仍在使用这些。JMF 或 FMJ 我还没试过。我希望有更多的本地方法。

我最终将 JavaLayer 分叉到我的项目中。通过一个小的代码更改,我似乎设法让它读取 MP2 中的所有帧。但是尝试将其转换为 WAV 会导致文件只能在 VLC 中播放,而且可以识别但失真了。

无论如何,一个广泛的问题,我道歉。我想我在问有没有 JAVA + JavaLayer + MP2 大师可以帮助我?

原始 MP2:https : //dl.dropboxusercontent.com/u/90134918/horng014.mp2 WAV 转换失败:https ://dl.dropboxusercontent.com/u/90134918/horng014_fail.wav

我有这个项目的公共 GitHub 帐户,但我还没有在那里发布这个损坏的代码。

4

3 回答 3

0

在调试器中单步执行 jlayer1.01 后,我得出结论只有两种可能性:

要么 jlayer 对标题字的解码错误,要么 jlayers 表和代码正确,并且文件的参数与标准定义的有所不同。我缺乏知识和时间来找出两者中的哪一个是这种情况。

仅仅因为jlayer几年没有更新并不一定意味着它被放弃了;它通常与普通 MP3 配合得很好。如果没有任何已知的错误,为什么还要进行更新?

现在 MP2 并不常见。实际上它在 15 年前甚至还没有那么普遍,所以很可能存在一个仍然未知的错误。尝试提交错误报告并给它一些时间。

于 2014-09-04T17:18:31.707 回答
0

MP2 文件是正确的,并且 MP2 现在很常见,MP2 Encoder twolame 是最新的,具有增强的 VBR 编码。您可以使用普通播放器播放文件。JLayer 中有两个不同的错误:1. 帧大小计算错误;2. MP2 Low Sampling Frequency (Mpeg2-Layer2) 的位分配表有错误。

于 2014-12-29T08:49:11.213 回答
0

同时这里有一个新的 Java 媒体框架:

https://sourceforge.net/projects/doppio/

具有用于播放器的高级 API 和仅使用解码器的低级 API。

这个播放器在这里https://sourceforge.net/projects/xamp2/基于这个媒体框架,可以播放提到的文件。这些东西也是开源的。

于 2015-04-25T13:16:59.147 回答