Answers:
首先,当您启动OSS应用程序时,请提供它们和流名称,以便更容易识别它们:
padsp -n oss_play -m oss_output your/playback/app
padsp -n oss_rec -m oss_input your/recording/app
要将输出从一个应用程序输送到另一个应用程序,我们将使用零接收器和关联的监视器。从命令行加载它:
pacmd load-module module-null-sink sink_name=oss_pipe sink_properties=device.description=OSS-Pipe
现在,您可以使用pavucontrol
设置的输出oss_play到OSS-管,并输入oss_rec到监控OSS-管的使用GUI。或者,您可以再次使用命令行来识别流的索引号
pacmd list-sink-inputs
pacmd list-source-outputs
输出不是特别适合解析的,但是如果你想使用一个脚本,sgrep可以解决这个问题(对于“oss_play”,类似于“oss_rec”):
sgrep '"index: "__"\n" in ("index" .. ("index" or end) containing "application.name = \"oss_play\"")'
假设指数分别为3和17。最后,移动它们:
pacmd move-sink-input 3 oss_pipe
pacmd move-sink-output 17 oss_pipe.monitor
如果module-stream-restore
已加载(默认),则pulseaudio将记住这些应用程序的默认源/接收器,只要它处于活动状态,并在再次启动时自动连接它们。