2012-10-18 49 views
1

我目前正在創建一個遊戲。我的遊戲將使用用戶發送的mp3文件中的音樂,以便決定放置物品的位置,關卡的移動速度等等。我對此很感興趣,我一直在閱讀有關mp3的信息。目前我已經找到了我正在使用的mp3文件中的所有幀。我不知道該從哪裏出發。我想要做的是在特定時間(如每秒)測量音樂聲波的頻率,然後根據該頻率做出我需要的遊戲。我不知道我是否應該解碼MP3,看起來像很多工作,如果我沒有2,或者如果我只能讀取幀中的字節並將它們轉換爲無任何解碼。我正在使用遊戲引擎FlatRedBall在c#中進行開發。我沒有使用任何庫。我也計劃銷售這款遊戲,所以我想避免使用其他人的代碼,如果我能避免它。請有人幫助我,我只需要一個方向從這裏走。我知道如何解析標題並計算幀長,我只是不知道我想要做什麼的下一步...閱讀MP3文件遊戲開發

回答

0

將您的音樂轉換爲免費的.ogg格式,並使用免費的庫播放它。

+0

我認爲,將知道關於ogg vorbis,所以提供一個鏈接爲c#sdk可以是一個好主意 – LXG

0

注意:我打算髮表評論,但它很快變得太大了。 :)

寫你自己的MP3 enconder /解碼器可能會花費很多努力;這可能會更好地花在遊戲本身上。因此,有可能,我會盡全力使​​用開源庫。

也就是說,大多數好的MP3庫都是LGPL/GPL許可的。這意味着你可以在商業環境中使用它,只要你動態鏈接到它。另外,從版本1.2.12開始,SDL Mixer庫支持MP3並且處於更寬鬆的zlib許可下,但是由於您提到了C#,我不知道是否有穩定和最新的綁定可用。另外,由於您的項目不是以SDL編寫的,因此可能很難將其集成。

此外,正如@pro_metedor暗示的,也許使用更開放的格式可能有助於許可問題。一般來說,OGG實現比MP3更好的壓縮,這對於像下載大小,帶寬/資源使用等

就貨比三家了一段時間,並儘量靈活一點加。我相信你會找到一些不錯的東西! :)