跨平台音频API建议


20

我目前正在考虑为游戏添加声音。我已经看过OpenAL和SDL,但我想知道那里还有什么。您可以推荐任何好的跨平台音频API进行游戏开发吗?


1
“好”是主观的。如果您有一些特定要求,这将有所帮助,因此答案可以更适合您的特定需求。
Tetrad 2010年

Answers:


13

堆栈溢出问题:“游戏的跨平台声音API?”

我同意接受的答案:

我是SFML库的忠实拥护者。它确实提供了其他图形和网络功能,但是与此问题相关的是它还具有简洁的音频包。

音频功能包括:

  • 尽可能使用硬件加速
  • 可以加载和保存标准声音格式:ogg,wav,flac,aiff,au,raw,paf,svx,nist,voc,ircam,w64,mat4,mat5 pvf,htk,sds,avr,sd2,caf,wve,mpc2k ,rf64
  • 可以直接从内存中的文件加载所有音频资源
  • 3D声音空间化
  • 简单的界面,可捕捉音频
  • 有效地管理内存,因此您不必担心资源的寿命或存储
  • 支持大文件流; 您甚至可以为任何来源(网络等)编写自定义流式类
  • 支持多声道格式(单声道,立体声,4.0、5.1、6.1、7.1)

网址:http//www.sfml-dev.org/


感谢您的反馈意见。我在“游戏开发”中搜索了此类现有问题,但没有搜索“堆栈溢出”。
reverbb's

显然,您不能投票关闭对另一个SE网站上的帖子的引用,因此批准此答案可能是该问题的最佳结果。

3
而且无论如何,它不一定需要关闭。例如,有些人可能会支持Tetrad选择FMOD,这在SO问题中并未提及。我只是提出了一个要在此基础上提出的问题,而不是建议它是完全相同的,因为游戏开发的读者不是SO读者的完全相同。:)
Ricket 10'9

我不同意; 它应该关闭并重定向到SO问题。否则,我们会将未来的答案分配在两个地方。这是完全相同的问题-这是“ [用于游戏开发]的跨平台音频API建议”,另一个是“游戏的跨平台声音API?”

2
我们在这里得到游戏开发人员的答案(在这种情况下,它恰好是相同的)。没有人来这个网站获得Stack Overflow的答案,他们希望得到对支持游戏开发者社区特别感兴趣的专业人士的意见。如果它们相同,那就这样吧,因为肯定不会总是如此,这就是该站点有用的部分原因。有关更多说明,请参见meta.gamedev.stackexchange.com/questions/3/…
克里斯托弗·霍伦斯坦

10

就我而言,这些天来在游戏中实现声音的事实API是FMOD

对于非商业用途,它是免费的,对于“休闲”(阅读:独立)开发,它相对便宜。

对于简单的“播放此声音”要求而言,这有点矫kill过正,但确实提供了在各种平台上都经过良好测试的庞大功能集。


2
回复:“对于简单的“播放此声音”要求有点过头了”-我认为现在是时候让开发人员超越“播放此声音”了!很少有人愿意使用仅允许2D精灵的图形API,我认为我们还需要开始对音频提出更多要求。
Kylotan

1
可悲的是,FMOD的bug很大,开发人员对问题的响应速度很慢。对于简单的“播放此声音”没问题,但是一旦真正开始使用它,缺陷就会真正开始显现出来。
dash-tom-bang 2010年

同样,当他们说跨平台时,他们是真的。我所知道的唯一可以在更多地方运行的是Unity。
coderanger 2010年

我在多个iPhone项目中都使用过FMod,但只要坚持使用低级API,就不会发现它特别麻烦。FMod Designer当然是另一种野兽。我还发现论坛很好,那里的工作人员都非常支持。我听说FMod的控制台版本不如PC / Mac / iPhone稳定(并且价格昂贵),但是没有这些经验。
马丁皮

9

OpenAL

我非常喜欢OpenAL作为跨平台音频库。该API级别较低,但是您可以轻松地将其包装到更好的引擎友好界面中。它是真正的跨平台,具有对iPhone,Android,MacOSX,Windows和Linux的一流支持。

看一下Djinn Engine的声音代码。两个文件,它们之间可能有300行(计算注释等),您便有了一个可行的声音系统。

我从未开发过以音频为中心的游戏,因此,如果需要极端控制,OpenAL可能不适合。



4

除了FMOD,还有Audiokinetic Wwise,它在游戏行业中越来越多地用作专业的跨平台声音设计工具和API。它具有多种效果选择(包括卷积混响),复杂的声音逻辑系统,声音分层,概要分析,交互式音乐工具等。它提供了很好的解码算法选择,并且对于非商业项目也是免费的。




By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.