日期:2014-05-18  浏览次数:20825 次

【开源】发布一个纯JAJA的MP3解码器

MP3解码器满天飞为何还写MP3解码器

  曾经很想知道MP3的解码原理,上网查找了很多资料,其中泛泛而谈的比较多,深入介绍MP3解码原理的资料很少。开源的MP3解码器很多,他们都不提供解码相关的文档,从源程序去琢磨原理是一件很痛苦的事。在拜读了一些优秀的开源的用c语言写的MP3解码器源代码之后,一方面觉得他们的算法的确很不错,另一方面感觉上觉得应该还可以优化。
  写这个解码器还有一个更重要的原因就是,当时查阅MP3相关资料时,知道MP3解码器程序、资料在多年前就已经很多了,这些方面的中文资料本就很少,可供免费下载阅读的就更少了。我当时已经设计出MP3解码核心模块之一的多相合成滤波算法,通过测试与优秀的开源程序对比,我的算法略胜一筹,再次去查阅这方面的资料,看到一些付费硕士论文,声称其算法很先进,好奇心驱使下花RMB买了一些论文来看,看后才知道我与他们的差距之大,人家近100页的论文,有近70页讲了MP3的历史、展望,而我对这些方面知之甚少,人家是用高等数学的积分式推导的,而我却是用中学学过的初等数学的求和式推导的。如果你有兴趣,可以去看看我的博客:http://lfp001.iteye.com/
  用JAVA写的MP3解码器也不少,其中包括大名鼎鼎的开源的ffmpeg解码器,也有用纯JAVA写的MP3解码器,拜读之后,觉得他们的解码器差不多是从c版本的解码器“翻译”过来的,实测解码的速度,也很不尽人意。其它JAVA解码器,恕我直言,差不多都是原理性的,从这些MP3解码器源代码中可以看出他们是基于官方发布的MP3软件模拟的源代码改写过来的。


关于纯JAVA的MP3解码器 -- jmp123
  jmp123是一个解码速度很快的纯JAVA的开源的MP3解码器。在2核2.9G CPU上跑,解码速度达到每秒15000帧以上;在4核 CPU上会跑得更快。

关于播放器

  1、控制台迷你播放器:


  2、GUI播放器:


加入了在线搜索唱片集功能,一个开放源代码的程序,去人家网站上去挖图片,我觉得不太好。所以啊搜索唱片集图片的功能随时可能被删除。


------解决方案--------------------
顶一个~~

你发布在哪里了?
------解决方案--------------------
好牛啊!
------解决方案--------------------
牛人,要是能介绍下算法更好了
------解决方案--------------------
从来没有搞过这个东西  坐等高手来指导
------解决方案--------------------
很好,有时间研究一下。
------解决方案--------------------
很强大啊
LZ除了用JDK,还用到了哪些第三方jar包啊
------解决方案--------------------
哈哈哈 在哪啊必须要去看看啊 楼主不错 最近正研究这个 fft分频的柱状图
------解决方案--------------------
支持开源