1

物理的なケーブルを使用せずに、スピーカー出力を Android フォンのマイク入力に接続したいと考えています。このようなルーティングは、すべてのアプリに対して透過的である必要があります。この関数を使用すると、voip 通話の往復遅延の測定、着信通話への自動返信など、興味深いアプリをたくさん設計できます。

同様の質問がいくつかここにあります。

通話用BGM

オーディオ ストリームをマイクに出力する

現時点では Android での解決策はないようですが、Linux で実行されているツール JACK は最も近いツールです。Linux でこれ (スピーカー -> マイク) を実現する JACK クライアントを作成するためのスクリプトまたはコードを提供してもらえますか? そして、JACK サーバーとクライアントを Android に移植するのはどれほど難しいでしょうか?

ありがとう!

4

1 に答える 1

2

Linux で Jack を取得して、マイクをスピーカーに接続します。

  1. QJackCtl で Jack を開始します。これは思ったほど簡単ではありません。
    1. QJackCtl を開始します。
    2. 「セットアップ...」ボタンをクリックします。
    3. 「Driver:」ドロップダウンから「alsa」を選択します。
    4. 「入力デバイス」および「出力デバイス」ドロップダウンから、使用するサウンドカードを選択します。比較的高性能なサウンドカードをお持ちの場合は、そのデバイスに対応できるデバイスが多数ある可能性があることに注意してください (私の Audigy 2 ZS には 4 つあります)。正しいものを選択することは、このチュートリアルの範囲を超えています。
    5. 右下隅のレイテンシーを確認します。ジャック自体がサウンドを処理するのに時間がかかることを認識してください。これについての情報が得られます (申し訳ありませんが、正確な意味はわかりません)。Jack を実行することは、多くの場合、非常に低いレイテンシーを得ることと、Jack がオーディオのセクションの処理をあきらめなければならない「xruns」を回避することとの間のトレードオフになります。Xrun はしばしば「クリック」音を発生させます。
    6. 「OK」をクリックします。
  2. 「接続」ボタンをクリックします。
  3. これにより、[接続] パネルが開きます。これは基本的に、さまざまな Jack アプリケーションを相互に接続して、相互にオーディオを処理できる場所です。
  4. 入力 (左側の「システム」) と出力 (右側の「システム」) を選択し、「接続」をクリックします。片側または両側の「システム」の下にリストされているさまざまなものを調べて、マイクから実際にキャプチャーしている/スピーカーに出力しているものを見つける必要がある場合があります。繰り返しますが、これはこのチュートリアルの範囲を超えています。試行錯誤と同様に、Google はあなたの味方です。
  5. マイクをスピーカーに近づけた時のフィードバック音をお楽しみください。

Jack を Android に移植する限り、このを見ることができます。これは基本的に、Android が Jack の低レイテンシ要件を処理できないことを示しているようです (これは、レイテンシ測定を行う際に問題を引き起こす可能性もあります)。 )。thisthisを見ることもできます。これは、あなたがやろうとしていることを実行するための代替方法を提供する可能性があります (レイテンシの問題に関してどこにあるのかわかりません。また、PD または libpd を自分で使用したことはありません) )。

于 2013-08-23T20:24:23.730 に答える