首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何创建虚拟音频输出并在基于Ubuntu的发行版中进行路由

如何创建虚拟音频输出并在基于Ubuntu的发行版中进行路由
EN

Unix & Linux用户
提问于 2017-08-06 00:57:48
回答 1查看 19.8K关注 0票数 5

我在elementaryOS 0.4.1 Loki上,它基于Ubuntu16.04.1。

我想使用OBS,一个屏幕录音机,记录游戏播放和来自同一游戏的声音。我也想在玩游戏的时候在后台使用语音聊天应用程序,但我不想让OBS记录其中的任何一个。

OBS不能选择性地忽略某些程序的音频,但它可以从指定的输入设备记录声音。

,我想创建一个虚拟输入,并使用pavucontrol的输出列表将我的语音聊天应用程序路由到该输入,这样它就不会被OBS接收。同时,我希望这个输入能回放到耳机/线外端口.

我知道这可以在Windows中使用虚拟音频电缆这样的软件来完成,但我不知道如何在Linux中做同样的事情。

我已经尝试过使用sudo me探测器和dummy做一些事情,但是它不允许我将虚拟人路由到耳机输出。

我该怎么处理这个?

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2017-08-08 04:50:36

让我重复一遍:一个程序或一组程序A(游戏)应该同时输出声音到OBS和耳机,而另一个程序或组程序B(语音聊天)应该只输出声音到耳机,所有的脉冲音频水平。对,是这样?

不要使用snd-dummy,它在ALSA级别上工作。相反,在Pulse音频级别上创建一个“空接收器”:

代码语言:javascript
复制
pacmd load-module module-null-sink sink_name=game_sink sink_properties=device.description=Game-Sink

使用pavucontrol,或者,如果可以的话,使用基本操作系统的声音配置将所有A组声音输出切换到该接收器。脉冲音频中的每个接收器都有一个相应的“监视器”源(您可以看到包含在OBS菜单中的那些源),所以设置OBS来记录“游戏水槽的监视器”。

它只负责A组的录音,但不输出到耳机。为此,您需要从上述监视器源返回到耳机接收器:

代码语言:javascript
复制
pacmd load-module module-loopback source="game_sink.monitor" sink="your-headphone-sink"

您可以找到所有接收器的名称,包括耳机水槽的名称。

代码语言:javascript
复制
pacmd list-sinks | grep name:

当使用名称作为参数时,省略角括号。

票数 9
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/384220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档