C++ 音频输出

标签 c++ audio

我想用 C++ 输出音频流(异步)。

我已经看过here , here ,和here但它已经过时并且链接已损坏。

我确信这是一个简单的任务,但我在网络上找不到任何地方可以做到这一点。我更喜欢整洁、面向 STL 的东西(例如我可以像在屏幕上写入一样写入的设备?)。由于我使用的是 VC2013,我可以使用 Windows 预编译头,但更愿意避免使用它。

谢谢

更新:

我试图接近 STL,但从表面上看,我做不到,所以我会坚持使用 Windows API。 PlaySound 不合适,因为我的数据不在文件中,而是在内存的缓冲区中。 我尝试过使用 waveOutWrite但我想顺序播放两个声音,即在 t=0 时启动声音 2 秒,在 t=1 时启动声音 3 秒(重叠)

最佳答案

输出音频的方式有很多种,我无法在此一一列举。

由于您使用的是 Windows,因此您可以使用 MS API,例如 Core AudioDirectSound .

您还可以使用跨平台 API,例如 FMOD Ex .

无论如何,输出音频并不困难,但也并非微不足道;对于一个正常工作的音频流示例,您应该期望约 10 个 API 调用。

关于C++ 音频输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27505887/

相关文章:

c# - CoreAudio OnVolumeNotification 事件订阅导致 explorer.exe 中 CPU 使用率高

iphone - 如何打断iPhone(SDK或MonoTouch)上正在播放的声音?

android - 如果循环播放,音乐不会停止(true)

c++ - 带有节点图标和不带图标的项目的 TreeView

c++ - 将整数(文字)与函数相关联,让调用者查询 FLOPs 的数量

c++ - OMNeT++缓冲器设计

ios - 如何使用 SKAction 循环播放音乐?

android - 如何检测歌曲播放完成?

c++ - 如何为对象提供不同的接口(interface)(最佳)

c++ - 将 dll 转换为 COM - C++