振り子のスイング間隔を 750 ミリ秒に指定し、最大スイング アークで 1 つのオーディオ ファイルを再生するメトロノーム タイプのアプリケーションを作成しました。振り子のスイングとサウンドの再生を無期限に繰り返します。ただし、コードの実際の実行タイミングはデバイスごとに劇的に異なり、単一のデバイスでも変動することがわかっています。私の意図は、毎分 80 ビートの割合で振り子を振り、各「ビート」でオーディオ ファイルを再生することです。オーディオ ファイルの再生に必要な時間に合わせて、750 ミリ秒の設定を調整しました。これにより、ミリ秒の設定が 750 から約 680 にわずかに減少しました。
Android SoundPool を使用して .wav ファイルにアクセスし、サウンドを再生しています。
Soundpool のタイミングの問題と懸念事項についての言及をかなり見つけましたが、このようなアプリケーションに一貫したタイミングを提供するための実行可能で信頼できるソリューションはまだ見つかりませんでした.
振り子のスイングは、指定された遅延に基づいてかなり一貫しているように見えるので、変動は、オーディオを再生する SoundPool コードの実行中の可変タイミングによるものだと思います。Androidで一貫した「正確な」タイミング間隔でサウンドを再生するコードを実行する信頼できる方法はありますか?