在我的应用程序中,我需要将mp3文件解码为pcm缓冲区.这是很多数据,所以当我读取并解码时,我将其下采样到单声道22050Hz.
它的工作速度很慢,30秒用于在运行模式下解码3分钟的歌曲,在调试模式下老化.在我使用libmpg的Windows机器上,我可以在大约1秒内完成.
是否有更快的方式,任何人都知道肯定更快?我不想浪费时间实现另一种方法,如果它没有明显更快.谢谢.
顺便说一下,在我的应用程序中,我需要将整个内容下载到内存中的pcm缓冲区,所以我对简单播放mp3文件的东西不感兴趣.
最佳答案 这是你在Android中使用Native的时刻!
– 使用NDK并找到一个快速的c / c库(它们比jlayer快20倍,例如18秒内9min sogn)
– 有些库可以是有用的:
www underbit.com/products/mad/
www oracle.com/technetwork/java/javase/download-137625.html(不确定这个支持MP3toPCM)
lame.sourceforge.net/about.php(这个在github上有一个android开源项目,我希望对你非常有用!
https://github.com/intervigilium/liblame)