web-dev-qa-db-ja.com

Androidのヘッドフォンジャックからの音声入力?

最終年度のプロジェクトでは、ヘッドフォンジャックからオーディオ入力を取得しようとしています。誰かがデータをキャプチャする方法に関するコードを共有できれば、それは大きな助けになるでしょう。私は試してきましたが、Androidにかなり慣れていないため、MediaRecorder.AudioSourceでヘッドフォンジャック用のAPIを見つけることができませんでした...利用できるソースは次のとおりです。 http://developer.Android.com /reference/Android/media/MediaRecorder.AudioSource.html

8
ns89

たとえばを選択した場合DEFAULTまたはMIC from MediaRecorder.AudioSource入力として、電話に接続されているTRRSプラグが、内蔵マイクの代わりに自動的に入力として使用されます。

ただし、次の3つの点に注意してください。

1)チャネル数

TRRSプラグには、ヘッドフォンの左右のチャンネル用に2本の線がありますが、外部マイク用には1本の線しかありません(例: プラグのこの説明 を参照)。そのため、モノラル録音しかできません(現時点で唯一のスマートフォンの例外:Sony Z2には新しいTRRRSプラグがあります)。自分でアダプタを作成できます(例: ここの写真 を参照)。

2)レベル

たとえば、ラインアウトを接続することはできません。入力に直接CDプレーヤー。あなたは例えばを使用する必要があります過負荷を回避するために出力レベルを下げる抵抗分圧器。

3)信号操作

通常、ファームウェアには、自動利得制御(AGC)やイコライゼーション、ノイズ抑制、エコーキャンセレーションなど、スマートフォンメーカーに依存する派手な信号処理があります。スイッチをオフにすることはできないため、入力信号の完全なコピーを取得することはできません。

8