我的问题是:
我正在开发一个相当小的应用程序(它需要能够在未来增长,但目前,有限的功能就足够了)接收音频(16位单声道@ 44.1kHz)并执行傅里叶变换和过滤数据。我对你所能想到的所有领域的经验都是有限的,但我最近一直在研究它并且有一些了解。我的资金是有限的,我无法使用任何GPL或类似许可证下的图书馆(我需要能够破坏这个应用程序)。对于信号处理,我已经确定了MathNet库,这似乎可以处理大部分处理(我将编写必要的过滤器)。
真正的问题是找到要使用的声音库 - 我希望在C#中使用某些东西,虽然看起来directSound是最好的选择,但我不愿意使用它,因为微软几乎放弃了它(公司我工作将在不久的将来升级其装备;我只是想尽可能地增加应用程序的使用寿命。我使用XAudio2吗?我需要能够从USB设备记录原始pcm数据并对其进行处理(+将其写入.wav文件),并直接从.wav文件中读取数据。
感谢任何帮助
答案 0 :(得分:1)
首先,我想说DirectSound并没有被微软抛弃,它仍然是一种支持的技术(Windows 7),我不希望它在将来停止工作。
也就是说,有更新的音频API / SDK更现代:Media Foundation可以执行音频捕获,并且有很多很棒的示例可以让您快速启动。如果您正在寻找最新和最好的或正在寻找硬件加速音频,您可以尝试使用WASAPI和WaveRT使其工作。
仅供参考,媒体格式SDK不再位于第一篇文章中给出的URL。请改用这个:
答案 1 :(得分:0)
答案 2 :(得分:0)
预测微软是否会放弃他们目前推出的产品并不容易。至于XAudio 2和DirectSound,我肯定会使用XAudio 2.不仅因为它旨在取代DS,还因为API似乎更灵活。
但是,您可以查看NAudio如何播放。