我正在开发一款C#XNA游戏,最受欢迎的声音SDK如MSS或FMOD主要适用于C / C ++。
答案 0 :(得分:2)
嗯......你为什么要搜索适用于.NET的声音SDK? XNA已经包含 XACT ,并且在多个平台上完全支持它。
答案 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是两者中最好的。