如何在 Windows XP 上运行 nAudio?

Posted

技术标签:

【中文标题】如何在 Windows XP 上运行 nAudio?【英文标题】:how to run nAudio on Windows XP? 【发布时间】:2012-02-17 21:03:01 【问题描述】:

我在我的 WPF 应用程序上使用 nAudio。 我在How to play mp3 上遵循了他们的教程,一切正常。

但是,他们在教程中提到:

3) 在一个只需要调用一次的方法中,设置 波输出设备。在这个例子中,我们将使用 WASPI——它是可用的 在 Vista 和 Windows 7 上。关于哪个输出的更详细的讨论 选择的设备和时间,稍后来

waveOutDevice = new WasapiOut(AudioClientShareMode.Shared, 100);

出于某种原因,他们没有讨论如何做到这一点。 有人有线索吗? 如果你知道我应该使用哪个输出设备,我需要检查哪个操作系统 用户拥有并相应地设置了输出设备,否则 XP 的输出设备可以正常工作

【问题讨论】:

How do i choose an output driver 是 NAudio 常见问题解答中的第一个链接,应该会告诉您您需要知道的一切。不过,快速的答案是使用 WaveOut 我浏览的很快,没有快速回答。 【参考方案1】:

您基本上有四种使用 NAudio 播放音频的选项:

AsioOut - 对于大多数事情,ASIO 可能是矫枉过正。但是,如果您需要非常低的延迟播放,这是您最好的选择。它需要带有 ASIO 驱动程序或程序 ASIO4ALL 的声卡。 DirectSoundOut - 使用 DirectX 进行播放。 WasapiOut - 适用于 Vista 和 Windows 7 的通用播放。 WaveOut - 适用于任何 Windows 版本的通用播放。

它们都实现了 IWavePlayer,因此一旦实例化,每个类的使用几乎相同 - 只需调用 Init() 并传入您的 IWaveProvider。除了 WasapiOut 之外,所有这些都可以在没有参数的情况下构建,所以你只需要:

waveOutDevice = new WaveOut();

【讨论】:

以上是关于如何在 Windows XP 上运行 nAudio?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 xp 和 windows 7 上运行 SWT 应用程序

如何让我的 VB.net 程序在 Windows XP 上运行?

如何在 Windows XP 上注销之前运行我的程序?

在 Windows 中更改 SYSTEM 音量级别

如何在同一个 Windows XP 机器上同时运行 python 2.6 和 3.0?

如何在 Windows XP 上安装 Windows Server 2003 管理工具包