有没有办法在Android中解码AMR音频文件并访问原始音频数据?MediaCodec仅适用于API 16及以上版本。我需要一些能在Android 2.2及以上版本上工作的东西。
我认为2.X平台中没有本机API可以做到这一点。您可以在应用程序中使用ffmpeg
二进制文件。
通过快速搜索,我找到了Android
2.2的ffmpeg
预编译版本。
您可以将可执行文件放在应用程序raw
资源文件夹中,并使用Runtime.getRuntime().exec()
执行它
要使用ffmpeg
将AMR
文件转换为WAV
,可以执行以下操作:
ffmpeg -i file.amr file.wav
要将wav转换为原始PCM,您可以执行以下操作:(取自此处)
ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm