現在の速度がユーザーが設定した警告速度制限を超えたときに「ビープ音」を鳴らすアプリのコードを書いています。以下に示すコードは 内onLocationChanged()
に記述されていますが、何らかの論理的な理由で、ビープ音が 1 回だけ鳴って停止します。これは、ループを 1 回通過した後、pastTime と curTime が追跡を失い、その後 if 条件が論理的に真ではないことを示しています。したがって、ループをスキップします。5 秒の遅延が必要な理由は、ビープ音の間に十分な時間遅延があり、ビープ音が重ならないようにするためです。アクティビティの最初に、pasTime を 0 で初期化しました。これに対する修正に関する提案は大歓迎です。またcurTime = c.getTimeInMillis()
、場所リスナーで場所が変更されるたびに。
if (Activity2.mySpeedmph > mySpeed_max & curTime > pastTime+5000)
{
player = MediaPlayer.create(Activity2.this, R.raw.beep);
player.setLooping(false);
player.setVolume(100,100);
player.start();
pastTime = curTime;
}
これは非常に具体的な問題であり、これに関連するものは見つかりませんでした。私はそれが専門家にとって非常に単純な問題であることを知っています。