それで、私はしばらくの間Android開発を学んでいて、タップテンポのメトロノームアプリを書いています。私がやっていることは、あなたがそれを押すとメトロノームを開始する再生ボタンを維持することです. ボタンの onClick() で、ScheduledExecutorService を使用して Runnable を繰り返しました。Runnable には、メトロノームのクリックがロードされた SoundPool があります。
つまりね。メトロノームの最初の 2 つのティックの間の遅延は、本来あるべきよりも著しく小さくなっています。その後、均一になります。したがって、120 bpm でタップしたい場合は、最初の 2 ティックで 150 bpm までスピードアップし、その後通常に戻ります。なんらかの理由で、最初のティックが遅れているとしか思えません。
SoundPool の代わりに MediaPlayer、TimerTask、ScheduledExecutorService の代わりに別の Handlers と Runnables を使用しようとしましたが、うまくいきませんでした。問題は何でしょうか?