我正在创建一款游戏。我的游戏将使用用户发送的mp3文件中的音乐,以便决定放置的位置,级别的移动速度等等。我相当新,我一直在阅读有关mp3的信息。目前我已经找到了我正在使用的mp3文件中的所有帧。我真的不知道从哪里开始。我想要做的是在特定时间(如每秒)测量音乐的声波频率,然后根据该频率,做我需要的游戏。我不知道我是否应该解码mp3,这看起来像很多工作,我不想这样做,如果我没有2或如果我只能读取帧中的字节并转换它们没有解码什么。我正在使用游戏引擎FlatRedBall在c#中开发它。我没有使用任何库。我也计划出售这款游戏,所以我想避免使用其他人的代码,如果我可以避免的话。请有人帮助我,我只需要一个指示从这里开始。我知道如何解析标题并计算帧长,我只是不知道我想做的下一步...
答案 0 :(得分:0)
将您的音乐转换为免费的.ogg格式,并使用免费库播放。
答案 1 :(得分:0)
注意:我打算将此作为评论发布,但它很快就变得太大了。 :)
编写自己的MP3 enconder /解码器可能需要花费大量的精力;努力可能会更好地花在游戏本身上。因此,有可能,我会尽力尝试使用开源库。
也就是说,大多数好的MP3库都是LGPL / GPL许可的。这意味着您可以在商业环境中使用它,只要您动态链接到它。此外,SDL Mixer库(从版本1.2.12开始)支持MP3并且在更宽松的zlib许可下,但是由于您提到C#,我不知道是否有稳定和最新的绑定。此外,由于您的项目不是以SDL编写的,因此可能很难将其集成。
此外,正如@pro_metedor暗示的那样,使用更开放的格式可能有助于许可问题。一般来说,OGG实现了比MP3更好的压缩,这对于下载大小,带宽/资源使用等等是一个优势。
只需购物一段时间,尽量保持灵活性。我相信你会发现一些不错的东西! :)