1

我的问题是这样的:

我正在开发一个相当小的应用程序(它需要能够在未来增长,但目前,有限的功能就足够了)接收音频(16 位单声道 @ 44.1kHz)并对数据执行傅里叶变换和过滤。我在你能想象到的所有领域的经验是有限的,但我最近一直在研究它并且有一些了解。我的资金有限,我无法使用 GPL 或类似许可下的任何库(我需要能够分发这个应用程序)。对于信号处理,我选择了 MathNet 库,这似乎可以处理大部分处理(我将编写必要的过滤器)。

真正的问题是找到要使用的声音库——我希望在 C# 中有一些东西,虽然它似乎 directSound 是最好的选择,但我不愿意使用它,因为微软几乎已经放弃了它(我工作的公司将在不久的将来升级它的装备;我只是想尽可能地增加应用程序的寿命)。我使用 XAudio2 吗?我需要能够从 USB 设备记录原始 pcm 数据并对其进行处理(+将其写入 .wav 文件),并直接从 .wav 文件中读取数据。

任何帮助表示赞赏

4

3 回答 3

1

首先,我想说 DirectSound 并没有被微软抛弃,它仍然是受支持的技术(Windows 7),我不希望它在未来停止工作。

也就是说,有更新的更现代的音频 API/SDK:Media Foundation 可以执行音频捕获,并且有许多很棒的示例可以帮助您快速入门。如果您正在寻找最新最好的音频,或者正在寻找硬件加速音频,您可以尝试使用 WASAPI 和 WaveRT 让一切正常工作。

仅供参考,媒体格式 SDK 不再位于第一篇文章中给出的 URL。请改用这个:

http://msdn.microsoft.com/en-us/windows/bb190307

于 2010-12-14T22:07:04.220 回答
0

你看过Windows Media Format 9.5 SDK吗?http://msdn.microsoft.com/en-us/windows/bb190309.aspx

链接: http: //www.codeproject.com/KB/audio-video/ManWMF.aspx

于 2009-12-07T01:09:00.807 回答
0

很难预测微软是否会放弃他们目前推出的产品。至于 XAudio 2 与 DirectSound,我肯定会选择 XAudio 2。不仅因为它旨在取代 DS,而且因为 API 看起来更灵活。

但是,您可以看看NAudio是如何进行播放的。

于 2009-12-07T01:09:36.437 回答