在C ++中用Windows播放样本缓冲区最常用的方法是什么?

时间:2013-08-29 12:37:44

标签: c++ winapi audio waveout

我正在开发一个跨平台的音频编辑器(C ++),它具有特定于平台的AudioDevice类实现。该类从内存缓冲区播放声音。主操作系统是Linux,但有时我也会关注Windows端口。

当前的Windows实施使用waveOutOpen()waveOutPrepareHeader()waveOutWrite()界面,我认为它已被弃用(我不知道为什么会这样)。但最重要的是,这个界面仍然支持并在Windows 7中运行,我不知道微软会杀掉它的原因。

无论如何,我应该转移到另一种更好的界面吗?

1 个答案:

答案 0 :(得分:0)

Wave函数已经被弃用了几年(主要是因为在NT平台上支持DirectX)。您应该使用DirectX(DirectSound和/或DirectShow)API。

http://msdn.microsoft.com/en-us/library/windows/desktop/ee416960(v=vs.85).aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/dd375454(v=vs.85).aspx