检查最后一个按钮的点击

时间:2019-03-08 23:03:27

标签: ios swift avfoundation

我使用的是AVPlayer,当我单击前进按钮转到下一首歌曲时,它会自动按预期下载歌曲。但是,如果我多次单击前进按钮,则应用程序会变得非常缓慢。因此,如果没有点击前进按钮(例如两秒钟),是否可以调用前进按钮的功能? 我正在使用带有Swift 4.2和Firebase的Xcode 10下载URL并将其传递到AVPlayerAVPlayerItem(url: url)

2 个答案:

答案 0 :(得分:0)

您可以捕获时间并实现代码。尝试以下代码:

var lastTap:Date = Date(timeIntervalSince1970: 0)

func buttonTapped(sender:Any) {
    // Checks if it has been tapped in the last two seconds
    if (Date().timeIntervalSince(lastTap) < 2) {
        return
    }
    lastTap = Date()

    // Perform playing
    playSong()
}

答案 1 :(得分:0)

这有效:

var timer: Timer!

在按钮操作中:

if let timer = timer {
   timer.invalidate()
}
timer = Timer.scheduledTimer(timeInterval: 0.5, target: self, selector: #selector(play), userInfo: nil, repeats: false)


@objc func play() {
    self.play()
}