通过命令行更改 pavucontrols 选项卡“录制”

通过命令行更改 pavucontrols 选项卡“录制”

我正在使用 pavucontrol 对“录音”进行更改。我正在将 Loopback to Null-Output 的源 (??) 从“Internes Audio Analog Stereo”更改为“Internes Audio Analog Stereo 监视器”,请参阅屏幕截图http://picpaste.de/Bildschirmfoto_vom_2013-10-26_11_32_03-z0KwnFDE.png 我现在正在寻找通过命令行执行此操作的可能性。

到目前为止我已经完成了以下工作:

pactl load-module module-null-sink

→ 创建一个新的接收器

pactl load-module module-loopback

→ 创建一个新的接收器输入

pactl load-module module-loopback

→ 创建另一个接收器输入

pacmd move-sink-input 0 1

→ 将接收器输入的接收器更改为 Null-Output;这就像在 pacucontrol 选项卡“播放”中手动更改一样。

只是最后一部分(像屏幕截图中显示的那样进行更改)通过命令行是无法做到的。

我很高兴收到任何建议或意见。谢谢!

答案1

更改 pulseaudio 默认输入源的命令是。通过这个,我们还可以在接收器名称末尾pacmd set-default-source添加 将输出接收器的监视器定义为源。.monitor

这将为我们提供以下命令:

pacmd set-default-source <name_of_sink>.monitor

我们可能还必须使用 将活动流移动到新源move-sink-input

答案2

在我的例子中,我想使用重型失真,但当我切换到 pavucontrol 窗口时,录制就停止了。所以我不得不求助于命令行。

这个命令起了作用:

pacmd move-source-output $(pacmd list-source-outputs | tr '\n' '\r' | perl -pe 's/ *index: ([0-9]+).+?media\.name = "([^\r]+)"\r.+?(?=index:|$)/\2:\1\r/g' | tr '\r' '\n' | awk -F ":" '/AudioCallbackDriver/ {print $2}') null.monitor

(供参考,语法是pacmd move-source-output <source output index> <source name or index>。)

我在打完电话后编写了脚本,sleep以便有时间开始录音。

特别感谢 Stack Overflow 上的这个回答:根据属性查找 pulseaudio sink-input 索引,而上述 Takkat 的回答虽然不是一个合适的解决方案,但却为我指明了正确的方向。

相关内容