1

音を使って 2 つの Android スマートフォン間の距離を計算するのに苦労しています。

-主なアイデアは、2台の電話を同時に同期させ、モバイルAからモバイルBにメッセージを送信して、すぐにサウンドを再生していることを知らせることです。今回はモバイルAが保存することに注意してください。

-次に、モバイル B は、次の 1 秒程度の記録を開始する間、モバイル A に「OK、先に進むことができます」を送信します。

-次に、モバイル A は「OK」を取得し、1000Hz のサウンドを再生し始めます。

-モバイル B はその周波数を検出し、現在の時刻をモバイル A に送信します。

これで、距離を計算するためのすべての情報が得られました。問題は、理論上はこれで問題ないことですが、これを実装すると、方程式に多くのランダムな時間が追加されます。

主な問題は、モバイル B が良好な周波数を得た絶対的な時間を指摘できないことです。

1000ミリ秒全体を記録するのではなく、多くの「ミニ」チャンク(12〜24ミリ秒)を記録しようとしましたが、モバイルがrecorder_.startRecording()/recorder_.read()/recorder_.stop()コマンドに費やす時間が多すぎます、そして私は多くのミリ秒で周波数を逃しています(各ミリ秒は30cmに等しいので、多くのエラーを試みることはできません...)

誰が私が間違っているのか、それを行うより良い方法に私を導くのか教えてもらえますか??

主な問題は、録音デバイスが、彼が必要な周波数を録音した実際の時間を指摘できないことです.....

よろしくお願いします。

オファー。

4

1 に答える 1

0

API 19 で導入された新しいオーディオ機能をご覧ください。

于 2015-09-02T10:09:55.547 に答える