Pulseaudioを使用して、オーディオ出力からMIC入力にリダイレクトする方法は?
-
12-10-2019 - |
質問
Maemo/Meegoのモバイルアプリに取り組んでおり、MaemoはPulseaudioを使用しています。私は呼び出し元にmp3を再生したい(そしてそれを行うときにマイクをキャンセルし、発信者を聞くのではなく、すべてをバックグラウンドで行う必要があります)、これを行うには、特定のものからオーディオ出力をリダイレクトする必要があります(可能であれば、すべてがすべて)アプリ、それを入力として偽造し、電話アプリに使用させます。
Ubuntu PCで、Pavucontrolでやりました。ヌルシンクを作成しました。
Audio Output (from Amarok) --> to NULL Output
Skype Input <-- NULL Output
Skype Output --> NULL
そして、それはうまくいきました、アマロックは音楽を演奏し、私にそれを演奏することなく、それはSkypeにストリーミングしていました、そして、私はすべてのプロセスについて何も聞きませんでした。問題は次のとおりです。 a)MaemoにはPavucontrolがありません。 b)たとえそれがそうであったとしても(またはパッケージ化したとしても)、それは唯一のGUIアプリであり、ユーザーの入力なしでバックグラウンドでこのすべてのことをする必要があるため、それは何の役にも立たないでしょう。 (平均:CLIまたはAPI)
FreeNode #PulseAudioでこれについて尋ねられ、役立つ男は「PACTLまたはPACMDを介してほとんど行うことができます。必要なコマンドはムーブシンクインプットとムーブソースの出力ですが、デバイスとストリームインデックスを知る必要があります。 。」したがって、Pavucontrolは単なるGUIであり、PACTLとPACMDは本物であり、最も重要なことは、それらがCLIアプリであるように見えます。
私は彼に本当に感謝していますが、「PACTL」、「PACMD」、「Move-Sink-Input」、または「Device/Stream Indexes」については何も知りません。同様のアプリ、ワンライナーコマンド(コマンドの2つのページ?、私にそれらを与えてください!^^)または私にこのことを説明するのに十分な忍耐力のある人。
解決
のマニュアル pactl
と pacmd
検索を行うとすぐに利用できます。ここで見つけました:
次の抜粋に興味があると思います pactl
マニュアル:
移動シンク入力IDシンク:指定された再生ストリーム(数値インデックスで識別)を指定されたシンク(そのシンボリック名または数値インデックスで識別)に移動します。
使用できるはずです pactl list sink-inputs
, pactl list source-outputs
, pactl list sinks
, 、 と pactl list sources
いくつかと組み合わせて grep
および/または sed
または、正しいストリームをプログラム的に決定し、沈むその性質の何か。