是否有人知道C ++中的开源声音库或其他一些流行语言,可以在开源游戏中用于重现声音,特别是在赛车游戏中重新创建引擎声音?
由于
答案 0 :(得分:5)
很久以前,有OpenAL并且在Linux上取得了一定的成功。
这很简单,以OpenGL库原理为基础。
答案 1 :(得分:2)
虽然你得到了一些关于如何输出声音的答案,但我相信这不是你的问题。
如果我的问题正确无误,我认为“声音合成”就是你要找的。 p>
你需要的只是一堆发生器(例如Sine,Sawtooth,Noise) 和过滤器(低,高,带);并结合这些。
下一步是添加LFO(低频振荡器)来调制发生器和滤波器的参数。
我知道这不是你所寻找的完整答案,但声音合成本身就是一门科学,而上述关键词可以让你开始走上正轨。
用于游戏的SFX的实时合成。简单回答: 不要这样做!
这是浪费资源而且 - 除非你有非常严格的尺寸限制 - 用于SFX的样本大小不会杀死你。
对于我们当前的游戏,平均样本的(磁盘上)大小约为7KB。 (我们大部分时间都使用16KHz,单声道,ADPCM。)
答案 2 :(得分:1)
我只是习惯性地讨论它,但SDL是一个非常流行的,跨平台的C ++游戏开发库。它包括对图形,声音,输入的支持。
我还记得它非常模块化。也就是说,与其他解决方案相比,它不像是框架,而是更多的库。看看吧。
答案 3 :(得分:1)
是否有特定原因需要开源,或“源可用”是否足够好?一个流行的是fmod http://www.fmod.org
非商业产品免费,并根据许可证提供源代码。它非常受欢迎,并在许多知名游戏中使用。
答案 4 :(得分:1)
irrKlang声音引擎是非常受欢迎的独立开发者。它是免费的非商业用途,如果你想开始在你的游戏中赚钱,它仍然非常便宜。
它支持所有主要平台(Windows,Linux,Mac),并具有C ++和.Net语言的API。
答案 5 :(得分:1)
我知道这是一个老问题,但我认为SFML需要在这里展示。 SFML提供C ++,C,.Net(C#,VB.Net,C ++ / CLI等),Python,D和Ruby,并且设计得小而快。
Features特定于音频:
对于重新创建引擎声音的具体问题,通常游戏会采用单个循环声音并调整音高。一个非常好的开源游戏是VDrift。
答案 6 :(得分:0)