如何连接特定的pulseaudio客户端


1

我有两个应用程序在运行padsp。我怎么能(希望在运行时)确保第一个的输出是由第二个记录的?

Answers:


1

首先,当您启动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_playOSS-管,并输入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将记住这些应用程序的默认源/接收器,只要它处于活动状态,并在再次启动时自动连接它们。


1
我知道OP的答案可能为时已晚,但我遇到了同样的问题并希望记录解决方案。
dirkt 2016年

1
非常感谢:)
安德鲁T
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.