我想在C ++中输出音频流(异步)。
我已经查看了here,here和here,但它已过时且链接已损坏。
我确信这是一项简单的任务,但我无法在网络上的任何地方找到它。我更喜欢干净整洁的东西,STL导向(例如我能写的设备就像我写的那样?)。当我使用VC2013时,我可以使用Windows预编译的头文件,但更喜欢避免它。
谢谢,
更新:
我试图接近STL,但从表面看,我不能,所以我会坚持使用Windows API。
PlaySound是不合适的,因为我的数据不在文件中,它在内存中的缓冲区中。
我曾尝试使用waveOutWrite
,但我想顺序播放两个声音,即在t = 0时开始声音2秒,在t = 1时开始声音3秒(重叠)
答案 0 :(得分:1)
输出音频的方法有很多种,我不能在这里列出所有这些。
由于您使用的是Windows,因此可以使用Core Audio或DirectSound等MS API。
您还可以使用FMOD Ex等跨平台API。
无论哪种方式,输出音频并不难,但它并不是真正的微不足道;你应该期望~10个API调用一个体面的工作音频流示例。
答案 1 :(得分:1)
在Windows下,您可以使用WSAPI。
以下是WSAPI的工作示例:
http://msdn.microsoft.com/en-us/library/windows/desktop/dd316756%28v=vs.85%29.aspx
在Linux下你可以使用alsa,pulseaudio等。