如何在Android应用程序中解码MP3?

7
我目前正在开发一个应用程序,允许用户选择一个 MP3 音频文件,并由我的应用程序进行处理。
为了进行处理,该应用需要对音频文件进行解码以获取原始 PCM 输出。
要解码 MP3,我有两个选择:
1. 使用 Android 系统来解码 MP3 并获得 PCM 数据。 2. 在手机上自己解码 MP3,而不需要支付 MP3 许可费用。
我的问题是 #1 是否在技术上可行?对于 #2,手机中的 MP3 许可证是否也适用于应用程序?
3个回答

2
据我所知,Android没有提供解码MP3的方法。
我过去使用过JLayer,并且可以推荐它用于MP3处理。使用带有c++库的NDK可能会更快,但如果您想保持Java,那就是我要使用的。它仍然比实时快,大约需要30秒来解码平均比特率为3分钟的MP3中的所有帧。这是在Galaxy S(1GHz)上进行的测试,所以任何更新的手机都会更快。
至于许可证方面,我无法帮助您。 JLayer本身是LGPL,但MP3许可证的世界比使用过的机油还要混乱。经过几天的搜索,我放弃了寻找明确的答案,并开始使用它。整个世界似乎对谁拥有许可证产生了分歧。

2

现在Android系统可以解码mp3文件,详见此处,其中描述了Android平台提供的媒体编解码器、容器和网络协议支持。

MedieCodec是一个非常强大的框架,可用于编解码媒体文件。


鼓励提供外部资源的链接,但请添加上下文说明链接是什么以及为什么需要。在引用重要链接时,请引用最相关的部分,以防目标站点无法访问或永久离线。请参阅如何回答 - SilverNak

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接