ste*_*veh 5 java mp3 android decode
在我的应用程序中,我需要将 mp3 文件解码为 pcm 缓冲区。这是很多数据,所以我在读取和解码它时将其下采样到单声道 22050Hz。
目前我正在使用 javazoom jlayer 解码器http://www.javazoom.net/javalayer/javalayer.html
它可以工作,但速度很慢,在运行模式下解码一首 3 分钟的歌曲需要 30 秒,在调试模式下会老化。在我使用 libmpg 的 Windows 机器上,我可以在大约 1 秒内完成。
有没有更快的方法,任何人都知道肯定更快?如果不是更快,我不想浪费时间实施另一种方法。谢谢。
顺便说一下,在我的应用程序中,我需要将整个内容下载到内存中的 pcm 缓冲区,因此我对简单播放 mp3 文件的内容不感兴趣。
小智 1
这就是你在 android 中原生化的时刻!
-使用 NDK 并找到一个快速的 c/c++ 库(它们比 jlayer 快 20 倍,例如 18 秒内 9 分钟 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)
| 归档时间: |
|
| 查看次数: |
4026 次 |
| 最近记录: |