我正在开发一个跨平台的音频编辑器(C ++),它具有特定于平台的AudioDevice
类实现。该类从内存缓冲区播放声音。主操作系统是Linux,但有时我也会关注Windows端口。
当前的Windows实施使用waveOutOpen()
,waveOutPrepareHeader()
,waveOutWrite()
界面,我认为它已被弃用(我不知道为什么会这样)。但最重要的是,这个界面仍然支持并在Windows 7中运行,我不知道微软会杀掉它的原因。
无论如何,我应该转移到另一种更好的界面吗?
答案 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