ヘッドフォンのハードウェア入力にアクセスするための Android の API はありますか? 理想的には、入力電圧/電流を直接読み取れるようにしたいと考えています。Java または NDK でこれにアクセスしても問題ありません。ルート化されていない電話でこれを行う方法がある場合はできれば。
2 に答える
フィルターを通過していない低周波または「DC」成分を回復する必要がある場合 (試してみて、そうでないことを確認してください。決してわかりません)、次の 2 つのことを試すことができます。
入力を通常に接続してから反転するか、単に入力をグランドに交互に接続するチョッパー回路を使用します。次に、ソフトウェアで 2 つの読み取り値の差を測定し、事前に測定されたキャリブレーションを適用します。
電圧制御発振器を使用して電圧から周波数への変換器を作成し、結果のオーディオ トーンの振幅ではなく周波数をソフトウェアで測定します (つまり、FM 変調を使用します)。
最初に、電流が気になる場合は、電話の入力インピーダンスを特徴付ける必要があります。または、外部オペアンプ回路を使用して、必要なインピーダンスをテスト信号に提示し、電話の低インピーダンスのオペアンプ出力からの入力であり、必要に応じて抵抗で増加させます。電話の入力の最大電圧を決定し、それを超えないように注意してください。2番目に、提示されるインピーダンスは、電圧から周波数への変調器の入力の関数になります。
私はまだ見たことがないが、私はそれを当てにしないだろう.
オーディオ入力は、バンドパス フィルターといくつかの自動ゲイン コントロールを通過します。オーディオ入力をサンプリングすることはできますが、サンプリングされた値は完全な信号の周波数に依存するため、実際の電圧を決定することはできません。