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



期望:

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

现实:

我尝试延迟 = 0.000000001, 1, 100000000,但无论如何,都不会播放任何噪音。但是,代码显然已执行(因为控制台中出现了"函数被调用"(

为什么会有这种差异?

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

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

声明

func play(atTime time: TimeInterval) -> Bool

参数

时间:

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

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

最新更新