システムの他のプログラムで参照できる動的に名前付きオーディオソースを作成したいと思います。たとえば、次のようになります。
gst-launch-1.0 audiotestsrc ! alsapubsink name='Test Source'
次に、次のような他のプログラムがこれを参照します。
gst-launch-1.0 alsasrc device='Test Source' ! ... ! autoaudiosink
もちろん要素はありませんalsapubsink
。 ALSA、Pulse、または私が知らない他のツールを使用してこの種の作業を実行する方法はありますか?
答え1
Pulseaudioから:「空の」受信機を作成する
pacmd load-module module-null-sink sink_name=public-sink-1 sink_properties=device.description=Public-Sink-1
次に、コマンドラインオプションまたはアプリケーションメニューオプション(利用可能な場合)を使用して、pavucontrol
「参照」するすべてのサウンド出力をこのレシーバにリダイレクトします。
各Pulseaudioシンクには関連.monitor
ソースがあるため、他のアプリケーションはその関連ソースのオーディオを一般的な方法(ソース選択などpavucontrol
)で録音または処理できます。