有没有适用于.NET的声音SDK?

时间:2010-05-10 18:18:28

标签: c# .net audio

我正在开发一款C#XNA游戏,最受欢迎的声音SDK如MSS或FMOD主要适用于C / C ++。

7 个答案:

答案 0 :(得分:2)

嗯......你为什么要搜索适用于.NET的声音SDK? XNA已经包含 XACT ,并且在多个平台上完全支持它。

Here's an MSDN documentation tutorial

答案 1 :(得分:0)

NAudio适用于.NET,但遗憾的是我认为它大量使用了P / Invoke。这意味着虽然您可以在Windows上使用XNA,但如果您需要在XBox等设备上运行代码,则可能会出现问题。

答案 2 :(得分:0)

实际上并没有那么糟糕,因为你可以通过使用P / Invoke从csharp 调用c / cpp库。
如果您使用Windows,则只需在C#和您选择的库之间创建(或查找)图层 如果从cpp dll调用函数有小example

答案 3 :(得分:0)

我同意上面的Avram,虽然我不会发消息,但如果可以,我会使用tlbimp.exe生成一个包装器,你应该能够从你最喜欢的开源C / C ++ api中找到一个类型的lib在它上运行tlbimp.exe。

这样你就可以获得api的所有额外津贴,而无需自己处理pinvoke /其他不安全的电话,包装器可以处理所有麻烦。

...

然而,我会怀疑你想用音频做什么,而你自己使用核心的.Net和XNA课程,你不能做一些奇怪的编码,如果我有点疯狂,我看到人们做的事情像安装一个第三方发烧友应用程序并从中拉出dll,然后在那些方法中调整方法(虽然非常努力)。

如果你想避免使用pinvoke调用altogeher,你几乎可以了解XNA本身的内容。

虽然有很多游戏引擎,但可能包含一些可以借用的漂亮音频类。

答案 4 :(得分:0)

BASS适用于.Net

答案 5 :(得分:0)

您想通过XNA的音频播放功能无法实现的声音是什么? http://msdn.microsoft.com/en-us/library/bb195038.aspx

请注意,如果您呼叫外部音频API,您的代码可以顺利移植到XBox,WinPhone等的可能性会大大降低。

答案 6 :(得分:0)

FMOD (FMOD.net)以及BASS (nBASS)都有.NET包装器。

我与两者合作,我认为FMOD.net是两者中最好的。