私はpavucontrolを使用して「録音」を変更しています。ループバックのソース(??)を「Internes Audio Analog Stereo」から「Monitor of Internes Audio Analog Stereo」にNull出力に変更しています。スクリーンショットを参照してください 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
→シンク入力のシンクを(ヌル出力に)変更します。これは、pacucontrolタブの「再生」で手動で変更するようなものです。
これは、コマンドラインを介した最後の部分(スクリーンショットに示すように変更を行う部分)にすぎません。
アドバイスや提案があればとても嬉しいです。もうありがとう!
PulseAudioのデフォルトの入力ソースを変更するコマンドはpacmd set-default-source
です。これにより、シンク名の最後に.monitor
を追加して、出力シンクのモニターをソースとして定義することもできます。
これにより、次のコマンドが得られます。
pacmd set-default-source <name_of_sink>.monitor
move-sink-input
を使用して、アクティブなストリームを新しいソースに移動する必要がある場合もあります。
私の場合、重い distortion を使用してボイスメッセージを録音したかったのですが、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 index by property と、その上のTakkatの回答に対して、適切な解決策ではありませんが、正しい方向に向けられました。