【问题标题】:Precise metronome for android适用于安卓的精确节拍器
【发布时间】:2015-11-12 02:32:04
【问题描述】:

question 的答案表明,我们可以使用AudioTrack 在 Android 上制作可靠且精确的节拍器。我们也可以使用MediaPlayerSoundPoolThreadTimer,但它们总是会导致延迟。除了使用AudioTrack 生成合成声音,我们如何使用自定义音频文件来实现相同的效果?

【问题讨论】:

    标签: java android


    【解决方案1】:

    您可以尝试使用System.nanoTime() 创建自己的计时器,当您需要精确时,您可以随时使用它。

    public static long nanoTime()

    返回当前最值 精确的可用系统计时器,以纳秒为单位。这种方法只能 用于测量经过的时间,与任何其他概念无关 系统或挂钟时间。返回的值代表 纳秒,因为一些固定但任意的时间(也许在 未来,所以值可能是负数)。该方法提供纳秒 精度,但不一定是纳秒精度。没有任何保证 关于值变化的频率。连续的差异 跨越大约 292 年(263 纳秒)的调用 由于数值溢出,将无法准确计算经过的时间。

    例如,测量一些代码执行需要多长时间:

    long startTime = System.nanoTime(); // ... 代码是 测量...长估计时间 = System.nanoTime() - startTime;
    返回: 系统定时器的当前值,以纳秒为单位。自从: 1.5

    来源:

    Oracle 文档https://docs.oracle.com/javase/1.5.0/docs/api/java/lang/System.html#nanoTime()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多