2013-02-11 74 views
0

有沒有辦法在Android中解碼AMR音頻文件並訪問原始音頻數據? MediaCodec僅適用於API 16及更高版本。我需要能在Android 2.2及更高版本上運行的東西。在Android中解碼AMR音頻文件

回答

1

我認爲在2.X平臺中沒有本地API來做到這一點。相反,您可以在應用程序中使用ffmpeg二進制文件。

通過快速搜索,我發現this precompiled version of ffmpeg for Android 2.2

您可以將它的可執行文件放在您的應用程序raw資源文件夾中並使用Runtime.getRuntime().exec()來執行它。

要將AMR文件轉換爲WAVffmpeg,你可以做這樣的事情:

ffmpeg -i file.amr file.wav 

,併爲WAV原始PCM,你可以做以下的轉換:(從here拍攝)

ffmpeg -i file.wav -f s16le -acodec pcm_s16le file.pcm 
+0

這是一個非常大的包 - 超過9 MB。這是一個完整的音頻處理應用程序。爲我的應用程序過度殺傷,它只有2 MB的大小。 – AndroidDev 2013-02-11 13:44:20