2012-06-25 72 views
7

我目前正在開發一款讓用戶選擇MP3音頻文件的應用程序。該文件然後由我的應用程序處理。如何在應用內解碼Android中的MP3?

對於此處理,應用程序需要解碼音頻文件以獲取原始PCM輸出。

爲了解碼MP3,我有兩個選擇:

  1. 使用Android系統的解碼MP3,並獲得PCM數據。
  2. 在手機上自己解碼MP3,無需支付MP3授權費用。

我的問題是#1在技術上是否可行?而對於#2,手機上的MP3許可證是否也覆蓋了一個應用程序?

回答

2

據我所知,沒有Android提供的MP3解碼方式。

我以前用過JLayer,可以推薦用於MP3處理。將NDK與C++庫一起使用可能會更快,但如果您希望保留Java,那就是我所用的。它仍然比實時更快,大約需要30秒才能解碼平均比特率爲3分鐘的MP3中的所有幀。這是Galaxy S(1GHz),所以任何新手機都更快。

就許可證而言,我無法幫到你。 JLayer本身就是LGPL,但MP3授權的世界比用過的機油油膩得多。經過幾天尋找具體的答案,我剛剛放棄,並做到了。整個世界似乎對誰甚至持有執照有分歧。

0

Android系統現在可以解碼mp3文件,請參閱here它描述了Android平臺提供的媒體編解碼器,容器和網絡協議支持。

MedieCodec是一個非常強大的框架來編碼和解碼媒體文件。

+0

鼓勵連接到外部資源,但請在鏈接上添加上下文,以便您的同行用戶瞭解它是什麼以及它爲什麼在那裏。如果目標網站無法訪問或永久離線,請始終引用重要鏈接中最相關的部分。請參閱[如何回答](https://stackoverflow.com/help/how-to-answer) – SilverNak

相關問題