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