C ++音频输出

时间:2014-12-16 13:34:33

标签: c++ audio

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

我已经查看了hereherehere,但它已过时且链接已损坏。

我确信这是一项简单的任务,但我无法在网络上的任何地方找到它。我更喜欢干净整洁的东西,STL导向(例如我能写的设备就像我写的那样?)。当我使用VC2013时,我可以使用Windows预编译的头文件,但更喜欢避免它。

谢谢,

更新:

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

2 个答案:

答案 0 :(得分:1)

输出音频的方法有很多种,我不能在这里列出所有这些。

由于您使用的是Windows,因此可以使用Core AudioDirectSound等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等。