这个问题的答案表明我们可以在Android上使用可靠而精确的节拍器AudioTrack.我们可以使用MediaPlayer,SoundPool,Thread和Timer为好,但他们总是造成的延迟.AudioTrack我们如何使用自定义音频文件实现相同的效果,而不是使用合成声音?
您可以尝试使用 创建自己的时间计数器System.nanoTime(),当您需要精度时,您总是可以使用它。
public static long nanoTime()返回最精确的可用系统计时器的当前值(以纳秒为单位)。此方法只能用于测量经过的时间,与系统或挂钟时间的任何其他概念无关。返回的值表示自某个固定但任意时间(可能在将来,因此值可能为负)以来的纳秒。此方法提供纳秒精度,但不一定是纳秒精度。不保证值变化的频率。由于数值溢出,跨度超过大约 292 年(263 纳秒)的连续调用的差异将无法准确计算经过的时间。
例如,要测量某些代码的执行时间:
长startTime = System.nanoTime(); // ...正在测量的代码... longestimatedTime = System.nanoTime() - startTime;
返回: 系统计时器的当前值,以纳秒为单位。自:1.5
来源:
Oracle 文档https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#nanoTime()
| 归档时间: |
|
| 查看次数: |
541 次 |
| 最近记录: |