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

标签 c++ winapi audio waveout

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

当前的 windows 实现使用 waveOutOpen() , waveOutPrepareHeader() , waveOutWrite()接口(interface),我认为它已被弃用(我不知道为什么)。但最重要的是,这个界面仍然在 Windows 7 中得到支持和工作,我看不出微软会杀死它的理由。

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

最佳答案

波函数已经被弃用了好几年(主要是因为 DirectX 在 NT 平台上得到支持)。您应该使用 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

关于c++ - 在 C++ 中在 Windows 中播放样本缓冲区的最常见方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18511224/

相关文章:

c++ - slider 控件(Trackbar)在对话框程序中接收消息

c - 将字符串添加到 LPTSTR

iphone - 如何将音频流静音

javascript - 使用 WordPress 默认音频播放器播放音频自定义起点和终点

c++ - std::bad_alloc 在内存位置 0x002b123c

c++ - 没有合适的从 std::string 到 int 的转换

java - 这是什么文档格式?

c++ - Eclipse 自动生成 Doxygen 注释配置

c++ - 在 C++ 中获取正确编码的字符串

c# - CSCore:从纯数据播放 float 组