web-dev-qa-db-ja.com

コマンドラインからpavucontrolsタブの「録音」を変更する

私は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タブの「再生」で手動で変更するようなものです。

これは、コマンドラインを介した最後の部分(スクリーンショットに示すように変更を行う部分)にすぎません。

アドバイスや提案があればとても嬉しいです。もうありがとう!

5
Mojo

PulseAudioのデフォルトの入力ソースを変更するコマンドはpacmd set-default-sourceです。これにより、シンク名の最後に.monitorを追加して、出力シンクのモニターをソースとして定義することもできます。

これにより、次のコマンドが得られます。

pacmd set-default-source <name_of_sink>.monitor

move-sink-inputを使用して、アクティブなストリームを新しいソースに移動する必要がある場合もあります。

2
Takkat

私の場合、重い 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の回答に対して、適切な解決策ではありませんが、正しい方向に向けられました。

0
Marc.2377