2012-10-18 31 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更好的压缩,这对于像下载大小,带宽/资源使用等

就货比三家了一段时间,并尽量灵活一点加。我相信你会找到一些不错的东西! :)