Moj*_*ojo 5 sound command-line pulseaudio pavucontrol
我正在使用 pavucontrol 在“录音”中进行更改。我正在将环回的源 (??) 从“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
Run Code Online (Sandbox Code Playgroud)
? 创建一个新的接收器
pactl load-module module-loopback
Run Code Online (Sandbox Code Playgroud)
? 创建一个新的接收器输入
pactl load-module module-loopback
Run Code Online (Sandbox Code Playgroud)
? 创建另一个接收器输入
pacmd move-sink-input 0 1
Run Code Online (Sandbox Code Playgroud)
? 改变接收器输入的接收器(到空输出);这就像在 pacucontrol 选项卡“播放”中手动更改一样。
这只是我无法通过命令行进行的最后一部分(进行屏幕截图所示的更改)。
我很乐意提供任何建议或建议。已经谢谢了!
更改pulseaudio默认输入源的命令是pacmd set-default-source。.monitor通过这种方式,我们还可以通过在接收器名称末尾添加来将输出接收器的监视器定义为源。
然后,这将为我们提供以下命令:
pacmd set-default-source <name_of_sink>.monitor
Run Code Online (Sandbox Code Playgroud)
我们可能还必须使用将活动流移动到新源move-sink-input。
就我而言,我想使用严重失真来录制语音消息,但是当我切换到 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
Run Code Online (Sandbox Code Playgroud)
(仅供参考,语法为pacmd move-source-output <source output index> <source name or index>。)
我在打电话sleep给我时间开始录音后编写了脚本。
特别感谢 Stack Overflow 上的这个答案:按属性查找脉冲接收器输入索引,以及上面 Takkat 的答案,虽然不是正确的解决方案,但为我指明了正确的方向。