我知道这听起来像是一个主观的问题,但我需要关于这个问题的一些有充分根据的意见:
在C#/WPF GUI中,我需要回放短波文件,作为对用户交互的响应。
这些规格如下:
到目前为止,我与DirectSound (使用)相处得很好,它符合上述所有要求。由于Visual 2010 (.Net 4.0),不再支持托管DirectX (MDX),它也从最新的DirectX SDK中消失了。
我现在有什么选择?
我真的很困惑我应该用哪一个来做一个新项目。我不想钻研一个全新的框架,只是为了找出它的局限性,让我无法使用它。
提前感谢!
发布于 2011-02-14 15:54:17
听起来有些选项可以满足您的需要,但我将响应您对NAudio的要求。
低延迟(立即开始播放)
没有音频库将启动“立即”。NAudio可以轻松地在延迟50 of左右的情况下使用WaveOut API。如果使用WASAPI,可能会更快
代码应该是本机C# (.Net 4.0)
NAudio代码是本机C# &包含Windows包装器
必须与WPF相处
NAudio可以很好地处理WPF
多重同步回放
支持多个回放。您可以选择创建一个混频器,有一个回放和混合不同的输入和输出。
没有对声音缓冲区操作的限制
这是NAudio相对于您提到的其他一些选项的一个巨大优势。您可以完全访问示例数据,并且可以以任何您喜欢的方式操作。
保证了未来(我想使用几年后还能得到支持的东西)。
开放源码软件是没有保证的。但是由于它的开源,没有什么能阻止您自己修复bug。NAudio已经存在10年了。
声音播放器模块应该是一个简单的类(= C#代码),而不是封装的dll。
您可以将代码复制到您自己的项目中,但是有相当多的助手类,因此您可能会发现使用DLL更容易。
https://stackoverflow.com/questions/4992576
复制相似问题