2011-01-17 19 views
14

私はMaemo/MeeGo用のモバイルアプリを開発中で、MaemoはPulseAudioを使用しています。私は呼び出し元にmp3を再生する(そして、それを行うときにマイクをキャンセルし、呼び出し元を聞かないで、すべてはバックグラウンドで実行する必要があります)、これを行うには、 )アプリ、それを入力として偽装して、電話アプリで使用するようにします。PulseAudioを使用してオーディオ出力からマイク入力にリダイレクトする方法は?

私のUbuntu PCでは、私はpavucontrolでやりました。私はその後、NULLシンクを作成しました:

Audio Output (from Amarok) --> to NULL Output 
Skype Input <-- NULL Output 
Skype Output --> NULL 

、それはAmarokの音楽を演奏、働いて、それは私にそれを再生せずに、スカイプにストリーミングして、私はすべてのプロセスについては何も聞いていませんでした。問題は、 a)Maemoにはpavucontrolがありません。 b)たとえそれがあったとしても(またはパッケージ化しても)それは唯一のGUIアプリケーションであり、私はバックグラウンドでこのようなことをすべて行う必要があります。 (平均:CLIまたはAPI)

Freenode #pulseaudioでこれについて尋ねたところ、「pactlまたはpacmd経由で実行することができます。コマンドはmove-sink-inputとmove-source-出力、デバイスとストリームインデックスを知る必要があります。したがって、pavucontrolは単なるGUIであるように見えますが、pactlとpacmdは実際の取引です。最も重要なのはCLIアプリケーションです。

私は彼に本当に感謝していますが、 "pactl"、 "pacmd"、 "move-sink-input"または "device/stream indexes"については何も知らないので、または同様のアプリのソース、1行のコマンド(2つのコマンドの全ページ?、ちょうどそれらを与えてください!^^)、またはこの物を私に説明するのに十分な忍耐を持つ人。

答えて

1

pactlpacmdのマニュアルは、検索するとすぐに利用できます。私はここでそれらを見つける:

移動-シンク入力IDのSINK:移動

pactl

pacmd (pulse-cli-syntax)

は、私はあなたがpactlマニュアルからの抜粋に興味を持っていると思います指定されたシンク(そのシンボリック名または数値インデックスによって識別される)への指定された再生ストリーム(その数値インデックスによって識別される)。

あなたはpactl list sink-inputspactl list source-outputspactl list sinksを使用することができ、かつpactl list sourcesプログラムで正しい流れとシンクを決定するために、いくつかのgrepおよび/またはsedまたはその自然の何かと組み合わせる必要があります。

+0

ha! 6年前にどこにいたのですか?ありがとう! :) –

+0

決して遅くない? :) – izzy

関連する問題