我创建了一个名为“Crosstalk”的C++音频库。
串扰是一个实时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();
附带串扰例如Xcode和Visual Studio项目。
您可以下载Crosstalk并查看API文档和许可详细信息here。
编辑:
在设定体积方面:有附带串扰被称为“XtGain”您可以在MP3解码器输出和音频设备的输入之间串联连接一个组件。这将允许您设置音频流到达扬声器之前的音量。
EDIT(2012年1月12日):
串扰已被取代所谓的 “DSPatch” 的开源项目。 DSPatch实质上是Crosstalk背后的路由引擎的升级版,不再仅限于音频处理。 DSPatch允许你创建和路由几乎任何类型的可以想象的过程链,并且它可以免费用于个人和专有使用:)
任何来自downvoter的信息?我不想创建音乐或MP3播放器。我只想简单直接地播放一个不涉及system()的mp3。是否存在任何使PlaySound()简单易用的API? – user987280 2012-04-12 21:50:27