android - 如何在应用程序内解码 Android 中的 MP3?

标签 android mp3 decode

我目前正在开发一款允许用户选择 MP3 音频文件的应用程序。该文件随后由我的应用程序处理。

对于此处理,应用程序需要解码音频文件以获得原始 PCM 输出。

要解码 MP3,我有两个选择:

  1. 使用Android系统解码MP3并获取PCM数据。
  2. 自己在手机上解码 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/

相关文章:

java - 解析java流

Android Facebook 共享对话框的内容未显示在主页中

android - 如何检查 Activity 是从通知启动的还是从用户单击android中的主屏幕仪表板应用程序图标启动的

android - java.lang.OutOfMemoryError 错误

twitter-bootstrap - Bootstrap 3 - 响应式 mp3 音频

php - 如何在 JavaScript 和 PHP 中对 URL 进行编码?

android - "ActionBarDrawerToggle"什么时候显示它的 "openDrawerContentDescRes"和 "closeDrawerContentDescRes"字符串?

python - pydub-内存错误

ios - 获取 mp3 文件指定时间范围的字节范围位置

python - paramiko-1.16.0 readlines() 解码错误