Linux 中的音频流管理

Posted

技术标签:

【中文标题】Linux 中的音频流管理【英文标题】:Audio stream mangement in Linux 【发布时间】:2010-04-12 05:38:10 【问题描述】:

我有一个非常复杂的项目音频设置。这是我们所拥有的:

3 个应用程序播放声音 2 个应用程序录制声音 2 个声卡

我真的没有这些应用程序的代码。我想做的就是监视和控制音频流。以下是我希望在应用程序运行时执行的一些操作示例:

静音传入的音频流之一。 让传入的音频流之一“独奏”(成为唯一可以“说话”的流)。 获取每个流产生的音频的图表(大约 30 秒)。 将其中一个音频流发送到声卡 #1,但将所有三个音频流发送到声卡 #2。

我可能会通过上面列出的操作之一每 2 分钟左右切换一次音频流。 GUI 将是首选。我开始研究 Linux 中的声音系统,它变得非常复杂,我觉得在过去的几年里有很多新的进步。我看到了 jack、pulseaudio、artsd 和其他几个软件包。他们都有一些承诺,但我应该从哪里开始呢?是否有人已经构建了可以提供帮助的东西?

【问题讨论】:

【参考方案1】:

PulseAudio 应该可以让你做到这一切。您需要配置一个自定义管道来拆分任务 4 的应用程序音频,我不确定您将如何完成任务 3,但我知道它能够通过其音量处理各种音频流控制 (pavucontrol)。

【讨论】:

【参考方案2】:

我用的是 Jack,它的安装和使用都非常简单,即使它 需要更多的努力来配置 Flash 和 Firefox ... 您可以尝试最新的 Ubuntu Studio 发行版,看看它是否能解决您的问题 问题(对于 GUI,请查看“补丁”)。

【讨论】:

以上是关于Linux 中的音频流管理的主要内容,如果未能解决你的问题,请参考以下文章

如何确定在线流的音频格式?

Android 音频焦点管理

Linux音频调试示例

使用 ffmpeg 和 python 将视频中的所有音频流提取到单独的音频文件中

为 HTML5 从设备中的线路创建实时音频流

音频流中的歌曲标题编码