我目前正在开发一款允许用户选择 MP3 音频文件的应用程序。该文件随后由我的应用程序处理。
对于此处理,应用程序需要解码音频文件以获得原始 PCM 输出。
要解码 MP3,我有两个选择:
- 使用Android系统解码MP3并获取PCM数据。
- 自己在手机上解码 MP3,无需支付 MP3 许可费。
我的问题是 #1 在技术上是否可行?对于 #2,手机上的 MP3 许可证是否也涵盖应用程序?
最佳答案
据我所知,Android 没有提供解码 MP3 的方法。
我用过 JLayer过去,可以推荐它用于 MP3 处理。将 NDK 与 c++ 库一起使用可能会更快,但如果您希望保留它的 Java,这就是我会使用的。它仍然比实时快,解码平均比特率 3 分钟 MP3 中的所有帧大约需要 30 秒。这是 Galaxy S(1GHz),所以任何更新的手机都更快。
就许可而言,我帮不了你。 JLayer 本身是 LGPL,但 MP3 许可的世界比用过的机油更模糊。经过几天寻找具体答案后,我只好放弃并去做了。整个世界似乎对谁首先持有许可证存在分歧。
关于android - 如何在应用程序内解码 Android 中的 MP3?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11191246/