我创建了一个名为“Crosstalk”的 C++ 音频库。
Crosstalk 是一个实时 C++ 音频引擎,可让您创建和路由音频系统。
以下是如何播放 mp3 文件的示例:
XtSystem system;
XtMp3Decoder mp3Decoder;
XtAudioDevice audioDevice;
long md = system.addComponent(&mp3Decoder);
long ad = system.addComponent(&audioDevice);
system.connOutToIn(md,0,ad,0);
system.connOutToIn(md,1,ad,1);
mp3Decoder.loadFile("../05 Tchaikovski-Swan Lake-Scene.mp3");
mp3Decoder.play();
Crosstalk 包括示例 Xcode 和 Visual Studio 项目。
您可以在此处下载 Crosstalk 并查看 API 文档和许可详细信息。
编辑:
在设置音量方面:Crosstalk 包含一个名为“XtGain”的组件,您可以在 mp3 解码器输出和音频设备输入之间串联连接。这将允许您在音频流到达扬声器之前设置它的音量。
编辑(01-12-2012):
Crosstalk 已被一个名为“ DSPatch ”的开源项目所取代。DSPatch 本质上是 Crosstalk 背后路由引擎的升级版本,不再局限于音频处理。DSPatch 允许您创建和路由几乎任何可以想象的类型的流程链,并且免费供个人和专有使用:)