【发布时间】:2013-02-11 21:34:12
【问题描述】:
有没有办法在 Android 中解码 AMR 音频文件并访问原始音频数据? MediaCodec 仅适用于 API 16 及更高版本。我需要可以在 Android 2.2 及更高版本上运行的东西。
【问题讨论】:
有没有办法在 Android 中解码 AMR 音频文件并访问原始音频数据? MediaCodec 仅适用于 API 16 及更高版本。我需要可以在 Android 2.2 及更高版本上运行的东西。
【问题讨论】:
我认为 2.X 平台中没有用于执行此操作的本机 API。您可以在您的应用程序中使用 ffmpeg 二进制文件。
通过快速搜索,我找到了this precompiled version of ffmpeg for Android 2.2。
您可以将可执行文件放在您的应用程序raw资源文件夹中,并使用Runtime.getRuntime().exec()执行它。
要使用ffmpeg 将AMR 文件转换为WAV,您可以执行以下操作:
ffmpeg -i file.amr file.wav
要将 wav 转换为原始 PCM,您可以执行以下操作:(取自 here)
ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm
【讨论】: