我正在开发一个需要实时音频流的应用程序。我希望使用一些跨平台(Windows / Linux / BSD)的开源库,用C或C++编写,即使使用各自操作系统的声音API也是一种选择。
我已经阅读了有关各种声音库的一些资料,包括SFML、SDL和PortAudio。诚然,我还没有足够的研究关于FreeBSD和Linux中的声音(它们之间有多相似?)。
主要要求如下:
1.从所选麦克风获取音频以通过网络发送, 2.将数据发送到一组输出设备, 3.处理声音(过滤、清除噪音、复用流等),但这可以在获得音频数据后完成,库本身不需要能够执行任何此类操作。 4.具有合理的低延迟。
我的主要关注点是这些API似乎主要针对游戏(其中声音通常从磁盘加载,并且几乎没有录制声音,而是与播放同样重要地通过网络流式传输)。
是否有人对这些或其他声音API有指针/警告/建议,或者有关通过各自操作系统的API实现此功能的优缺点?
注意: 虽然这个问题:“要求我们推荐或找到书籍、工具、软件库、教程或其他离线资源,这些问题对于Stack Overflow来说都是不相关的”,但是当考虑到“它们往往会吸引有偏见的答案和垃圾邮件”时,我认为这个问题不应该关闭。寻找此类库的人将很难找到任何东西,而对此问题的回答实际上概括了所有可用选项。因此,这属于被程序员广泛使用的“通常涵盖…软件工具”的接受答案类别。
我已经阅读了有关各种声音库的一些资料,包括SFML、SDL和PortAudio。诚然,我还没有足够的研究关于FreeBSD和Linux中的声音(它们之间有多相似?)。
主要要求如下:
1.从所选麦克风获取音频以通过网络发送, 2.将数据发送到一组输出设备, 3.处理声音(过滤、清除噪音、复用流等),但这可以在获得音频数据后完成,库本身不需要能够执行任何此类操作。 4.具有合理的低延迟。
我的主要关注点是这些API似乎主要针对游戏(其中声音通常从磁盘加载,并且几乎没有录制声音,而是与播放同样重要地通过网络流式传输)。
是否有人对这些或其他声音API有指针/警告/建议,或者有关通过各自操作系统的API实现此功能的优缺点?
注意: 虽然这个问题:“要求我们推荐或找到书籍、工具、软件库、教程或其他离线资源,这些问题对于Stack Overflow来说都是不相关的”,但是当考虑到“它们往往会吸引有偏见的答案和垃圾邮件”时,我认为这个问题不应该关闭。寻找此类库的人将很难找到任何东西,而对此问题的回答实际上概括了所有可用选项。因此,这属于被程序员广泛使用的“通常涵盖…软件工具”的接受答案类别。