![如何将单个程序的输出路由到麦克风输入?](https://linux22.com/image/1118113/%E5%A6%82%E4%BD%95%E5%B0%86%E5%8D%95%E4%B8%AA%E7%A8%8B%E5%BA%8F%E7%9A%84%E8%BE%93%E5%87%BA%E8%B7%AF%E7%94%B1%E5%88%B0%E9%BA%A6%E5%85%8B%E9%A3%8E%E8%BE%93%E5%85%A5%EF%BC%9F.png)
首先,介绍一些背景信息:我参与了 TF2 服务器,其中包含大量 micspam。我正在编写一份指南,介绍如何正确执行此操作 - 即使用媒体播放器和某种形式的音频管道。在 Windows 上,我们通过使用虚拟音频线或 VB-Cable 来实现这一点。我真的没有在 Ubuntu 上找到任何等效的东西,至少没有一个对我有用。
为此,我想知道是否有某种方法可以从单个程序(例如 Banshee)获取音频,并将声音输出路由到麦克风输入。理想情况下,我希望能够在不更改声音服务器的情况下做到这一点。
提前致谢!
答案1
据我所知,重定向到麦克风输入是不可能的,但幸运的是,这不是必需的。你需要做的只是设置一个新的 pulseaudio下沉这将自动有一个监控源。无需外部程序,pulseaudio 即可完成工作。(基本上,pulseaudio 的开发就是为了完成这些工作。)
所以问题是您是否想听到重定向到新水槽的声音?(在您的扬声器上播放。)或者您不想。
如果你想要要听到您正在重定向的内容,请按照我用于通过 Skype 发送音乐的技术进行操作:
获取默认接收器的名称:
pactl list sinks
在输出中搜索接收器的名称。它将类似于以下内容:“alsa_output.pci-0000_00_14.2.analog-stereo”
运行以下命令,并在主人=部分到您上面找到的默认接收器名称:
pactl load-module module-remap-sink sink_name=secondary master=alsa_output.pci-0000_00_14.2.analog-stereo
打开应用程序从你想要重定向声音和开始播放其中的声音。
打开应用程序到你想要重定向声音和开始录制在里面。
开始
pavucontrol
(如果您还没有sudo apt-get install pavucontrol
:)尽管您的应用程序正在播放/录制声音:在 pavucontrol 中,在回放选项卡更改接收器的位置(内置 ...)到重新映射的接收器(重新映射内置....)供您使用。在记录选项卡对您的录音应用程序进行类似的更改:将其更改为类似重新映射的监视器...
仍然在 pavucontrol 上输入设备和输出设备标签:更改展示:到所有输入设备和所有输出设备并确保重新映射的接收器及其监视器源没有静音并且具有足够的音量。
此后你的设置应该可以正常工作。
如果您想让新的接收器在 pulseaudio 启动时自动设置:编辑 /etc/pulse/default.pa 文件并添加以下行,其中包含您的默认主接收器名称(您需要 root 权限才能编辑该文件,因此请使用 sudo 或 gksu)
load-module module-remap-sink sink_name=secondary master=alsa_output.pci-0000_00_14.2.analog-stereo
Pavucontrol 存储了我们的更改(或者至少对我来说是这样),因此下次您不必在其中重定向接收器-源。(但如果它不会为您保存,请在需要时重定向它们。)
如果你不想要听到你重定向的声音,只需使用
load-module module-null-sink
在适当的位置(没有 sink_name 或 master 部分)并更改 pavucontrol 中的重定向,就像您对重新映射的接收器所做的那样,但现在使用空接收器及其监视器。