Swift:在计时器期间触发声音效果



我创建了一个超级简单的倒计时应用程序。你按下一个按钮,倒计时就开始了。最终结果计算如下所示:

  • 10,0
  • 9.999
  • 9.998

每个整数代表一秒钟,所以你可以想象它跑得很快。

当这个循环运行时,如果它发现当前值为 3.0 或 2.0 或 1.0 或 0.0,我在其中有代码来播放声音。

一切都会触发并播放声音,但是它就像哎呀一样小故障。大约 80% 的时间是完美触发的。其余时间要么延迟几分之一秒,要么完全错过。音效对应用程序至关重要。

我已经用准备来正确玩,它没有任何改进。我目前的实现是使用SKTAudio,我觉得这对我的需求来说有点矫枉过正。

有什么建议吗?

请注意一点 - 如果您使用 Double class 来比较两个值,您可能会发现 2.0 值不是真正的 2.0,而是例如 2.0000000001。因此,2 和 2.0000001 是不同的值,您的声音将无法播放

使用可以尝试 smth。

let checkValue: Double = 2 // your comparison value
let timerValue = 2.00000001 //for example
if (timerValue - Double(Int(timerValue))) == 0 && checkValue == timerValue {
print("Cool")
} else {
print("Not cool")
}

或几乎相同

let checkValue: Double = 2 // your comparison value
let timerValue = 2.00000001 //for example
if timerValue == Double(Int(timerValue)) && timerValue == checkValue {
print("Cool")
} else {
print("Not cool")
}

最新更新