JAVA MP2播放(原生)

时间:2014-09-04 11:34:56

标签: java audio mpeg-2

我的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帐户,但我还没有在那里发布这些损坏的代码。

3 个答案:

答案 0 :(得分:0)

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

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

仅仅因为jlayer已经更新了几年并不一定意味着它被抛弃了;它通常与普通MP3一起使用效果很好。如果没有任何已知错误,为什么还要更新?

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

答案 1 :(得分:0)

MP2文件是正确的,MP2很常见,MP2 Encoder twolame是最新的增强型VBR编码。您可以使用普通播放器播放该文件。 JLayer中有两个不同的错误:1。帧大小计算错误,2。MP2低采样频率(Mpeg2-Layer2)的位分配表存在错误。

答案 2 :(得分:0)

同时theres是一个新的Java Media Framework:

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

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

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