【发布时间】:2014-12-16 13:34:32
【问题描述】:
我想在 C++ 中(异步)输出音频流。
我已经看过 here、here 和 here,但它已经过时并且链接已损坏。
我确信这是一项简单的任务,但我在网络上找不到任何地方可以执行此操作。我更喜欢整洁、面向 STL 的东西(例如,我可以像在屏幕上写字一样写字的设备?)。由于我使用的是 VC2013,我可以使用 windows 预编译的头文件,但更愿意避免使用它。
谢谢,
更新:
我试图与 STL 保持接近,但从外观上看,我做不到,所以我会坚持使用 Windows API。
PlaySound 不合适,因为我的数据不在文件中,而是在内存中的缓冲区中。
我曾尝试使用waveOutWrite,但我想按顺序播放两个声音,即在 t=0 开始声音 2 秒,在 t=1 开始声音 3 秒(重叠)
【问题讨论】:
-
音频输出很简单?今年我错过了什么吗?这里没有任何标准化的方式,所以它不能是
simple task。另外,您发布的链接有什么问题?我看到你使用的是windows环境,为什么不使用directx api、PlaySound等呢? -
首先,不,你不能像“写入屏幕”那样做,因为音频不是 C++ 的一部分,它依赖于平台,你必须使用平台特定的函数来实现工作。其次,你自己试过什么?那是如何工作(或不工作)的?和预编译的头文件无关,只是为了加快编译速度。
-
使用 sndPlaySound(或 PlaySound)