1

我目前正在创建一个游戏。我的游戏将使用用户发送的 mp3 文件中的音乐,以决定放置物品的位置、关卡移动的速度等。我对此很陌生,我一直在阅读有关 mp3 的信息。目前我已经找到了我正在使用的 mp3 文件中的所有帧。我真的不知道从这里去哪里。我想做的是在特定时间(比如每秒)测量音乐声波的频率,然后根据该频率,做我需要的游戏。我不知道我是否应该解码 mp3,这看起来需要做很多工作,如果我没有 2 或者我可以读取帧中的字节并在没有的情况下转换它们,我不想这样做解码任何东西。我正在使用游戏引擎 FlatRedBall 在 c# 中开发它。我没有使用任何库。我也打算卖这个游戏,所以如果我能避免的话,我想避免使用其他人的代码。请有人帮助我,我只需要一个从这里出发的方向。我知道如何解析标题并计算帧长度,我只是不知道下一步我想做什么......

4

2 回答 2

0

注意:我打算将此作为评论发布,但它很快就变得太大了。:)

编写自己的 MP3 编码器/解码器可能需要付出很大的努力。可能会更好地花在游戏本身上的努力。因此,有可能,我会尽一切努力尝试使用开源库。

也就是说,大多数优秀的 MP3 库都是 LGPL/GPL 许可的。这意味着您可以在商业环境中使用它,只要您动态链接到它。此外,从 1.2.12 版开始,SDL Mixer 库支持 MP3,并且在更宽松的 zlib 许可下,但由于您提到 C#,我不知道是否有稳定和最新的绑定可用。此外,由于您的项目一开始不是用 SDL 编写的,因此可能很难集成它。

此外,正如@pro_metedor 所暗示的那样,也许使用更开放的格式可能有助于解决许可问题。一般来说,OGG 比 MP3 实现了更好的压缩,这对于下载大小、带宽/资源使用等方面来说是一个加分项。

只是货比三家,尽量灵活一点。我相信你会找到好东西的!:)

于 2012-10-18T00:42:27.780 回答
0

将您的音乐转换为免费的 .ogg 格式,并使用免费库来播放它。

于 2012-10-18T00:15:32.420 回答