我正在考虑做实时音频聊天的东西node.js。但是,据我所知,目前还没有一个很好的节点库。对于录制音频,我可能会打开一个音频设备,并从其中读取PCM字节-然而,我不知道如何继续。我想要控制网络的东西,例如,我希望能够通过一个现有的连接来多路传输,所以一个同时处理网络部分的库不会对我起作用。所以我想我需要的是:
这听起来正常吗?这些东西的好图书馆是什么?
发布于 2012-04-06 23:54:10
我创建了一个名为“串音”的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();
您可以在这里查看API文档和许可细节:http://www.adaptaudio.com/Crosstalk
更新:与免费许可兼容。
只有串音的演示版本可以与免费许可的软件一起使用,但是,仍然不允许串音的商业使用和分发。如果您希望在自由软件中使用串音演示,只需在您的EULA中提到您的程序使用了串音的演示版本,只要您提供到您的软件的链接,就提供一个链接到:"http://www.adaptaudio.com/Crosstalk",在那里他们可以自己下载它。
编辑(01-12-2012):
相声已被一个名为"DSPatch“的开源项目所取代。DSPatch本质上是串扰后路由引擎的升级版本,不再仅限于音频处理。DSPatch允许您创建和路由几乎任何类型的流程链,并且对个人和专有使用是免费的:)
https://stackoverflow.com/questions/8725950
复制