java - 如何在 Android 设备上将 WAV 编码为 mp3

标签 java android encoding mp3 wav

我已经简化了我的问题并提供了赏金: 有哪些选项可用于将原始 PCM 音频数据压缩为 Android 设备上的 mp3。

我的原始帖子: 我正在我的 Android 手机上创建一个合成器,并且一直在生成 PCM 数据以发送到扬声器。现在我想知道是否可以将此 PCM 数据编码为 mp3 以保存到 sdcard。 MediaRecorder对象可以将来自麦克风的音频编码为各种格式,但不允许对以编程方式生成的音频数据进行编码。

所以我的问题是,是否有用于编码音频的标准 Android API?如果不是,有哪些纯 Java 或基于 NDK 的解决方案?你能推荐其中的任何一个吗?

如果做不到这一点,我只需要将生成的音频保存为 WAV 文件,这很容易做到。

最佳答案

纯 Java
在此处查看 Tritonus 的 javasound 洁净室实现,它提供了一个 MP3 编码器 插件:http://www.tritonus.org/plugins.html
其次,我建议查看 jzoom 的库 JLayer 或 JLayerME:http://www.javazoom.net/javalayer/javalayer.html (这可能只是解码,不确定)
如果这些不适合您的需要,您可以查看 2000 年的这篇关于向 J2SE 添加 MP3 功能的文章(带源代码):http://www.javaworld.com/javaworld/jw-11-2000/jw-1103-mp3.html

本地路由
如果您想要“ native ”性能,我会查看适用于 Android 的 FFmpeg 或 Lame 端口。 蹩脚的:http://lame.sourceforge.net/

关于java - 如何在 Android 设备上将 WAV 编码为 mp3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3385059/

相关文章:

java - 生成累积频率数但从 0 开始

java - 最大重复字符数和数量

java - 如何使用 GSON 读取使用数字作为名称的 JSON 变量

android - 在 Activity 被销毁之前安全地保存数据

jsf - 自定义 JSF 组件渲染器 : how to render HTML around another element

Java byte[] 到 String 和 UTF-8

java - 以编程方式生成 BPEL 文件?

android - 在 Android Market 中托管应用程序的程序是什么?

javascript - 如何将一个十六进制数压缩成一个短字符串?

python - 不是 "\u": How to Unescape Unicode in JSON?