2012-01-06 55 views
3

什麼是最流行的方法/ API用於讀取MP3並將其轉換爲最基本的幅度波形(可以表示波形上可視化的點的浮點數),然後如何使用此函數在計算機的音頻輸出上播放它的基本價值? (所有這些都是用Java完成的)在Java中分解MP3

+0

(所有這些都是用Java完成的),換句話說,你是在要求我們給你寫一個完整的應用程序? – medopal 2012-01-06 19:40:26

+0

當然沒有,我不是。我想指出我應該使用什麼API(或API的集合),也許是一個教程文檔,如果有這樣的事情。 – ExtremeCoder 2012-01-06 20:02:52

+0

那麼你總是可以花費220美元購買規格,然後從那裏出來。 – 2012-01-06 20:17:00

回答

1

你可能想看看LAMEOnJ。它是LAME的Java包裝(JavaDoc)。

至於轉換字節數組浮動陣列,如何導入java.nio.ByteBufferjava.nio.ByteOrder,做以下

float floatVal = ByteBuffer.wrap(array).order(ByteOrder.nativeOrder()).getFloat(); 

這應該做的伎倆,給你一個float數組。至於玩它,你可以分配每個浮點值一個音高。

+0

這可能適用於未壓縮的格式,但對於MP3,您必須讀取數據幀並對其進行解壓縮,這不是一項簡單的任務。 – Viruzzo 2012-01-13 08:52:22

+0

我會修改我的答案 – eggonlegs 2012-01-13 08:56:19

+0

只是幾件事情:它不是*實現*,它是標準LAME(本機)庫的* wrapper *;其次,它使用商業化的封閉源代碼產品(我無法理解的理由不明)。從零開始做一個簡單的包裝器(可能更簡單的庫)可能會好得多。 – Viruzzo 2012-01-13 09:05:31