为什么调用audioplayer.play(atTime:delay)不管延迟的值如何都不会发出声音

时间:2017-05-10 17:44:39

标签: swift xcode8 delay avaudioplayer

期待:

当调用audioplayer.play(atTime:1)时,计时器重置为0,并在第1秒播放音频播放器

现实:

我尝试了延迟= 0.000000001,1,1000000,但无论如何,都不会播放噪音。然而,代码清楚地执行了(因为"函数被调用"出现在控制台中)

为何出现差异?

C = AVAudioPlayer() // assume other setups are done
C.play(atTime: 1)
print("function was called")

1 个答案:

答案 0 :(得分:1)

根据官方API参考(由我翻译为swift 3):

声明

func play(atTime time: TimeInterval) -> Bool

参数

时间:

绝对音频输出设备开始播放的时间。您为time参数提供的值必须大于设备的当前时间。您可以使用以下代码延迟播放开始:

let playbackDelay = 3.0              // must be ≥ 0
myAudioPlayer.play(atTime: myAudioPlayer.deviceCurrentTime + playbackDelay)