在 Windows 上有多种播放声音的方法。每种方法的区别、优点和缺点是什么?
我知道至少有5种方法:
- 1991 WinMM.dll/mmsys.dll 播放声音
- 1995 MCIWnd(由@casablanca 建议)
- 1996 年直接声音
- 1998 年波出
- 1999 年
- 1999 Windows Media Player ActiveX 控件?
- 2005 WASAPI(由 XAudio2 使用 - 正如@Han 所建议的那样)
- 2007 XAudio2
在 Windows 上有多种播放声音的方法。每种方法的区别、优点和缺点是什么?
我知道至少有5种方法:
QSound,那么它将适合您的Qt应用程序的其余部分,并且它不仅可以在 Windows 上工作,而且还可以在 Mac OS X 和 Linux 上工作。找到一个对开发人员不太友好的特定于平台的核心 API,然后在核心之上构建了无数对开发人员更友好的 API,这种情况并不少见。使用核心 API 的速度可能可以忽略不计,但使用这些核心 API 之上的层几乎总是更方便和可维护,并且可以保护您免受对低级核心的更改。
从XAudio2 的描述中编辑:
XAudio2 是用于 Microsoft Windows 和 Xbox 360 的低级跨平台音频 API。它为类似于其前身 DirectSound 和 XAudio 的游戏提供信号处理和混合基础。对于 Windows 游戏开发者来说,XAudio2 是期待已久的 DirectSound 替代品。
所以,如果你想要一个核心的、特定于平台的音频库,它看起来就是要使用的 API。
编辑 2
我的第一个答案有点快......真的,这取决于你想做什么。如果您只想播放音频文件,那么 QSound 就是您的最佳选择。但是,如果您想即时混合和生成音频,那么使用功能更强大的库,例如 XAudio2(它是 DirectX 的一部分,旨在作为视频游戏的一部分创建声音)将是去。