我正在使用 Timer() 来指示音频播放器中的当前音频位置
func startTimer() {
print("layerController: startTimer()")
if itemPlayTimer != nil {
return
}
itemPlayTimer = Timer.scheduledTimer(timeInterval: 0.001,
target: self,
selector: #selector(updateItemPlayerTimer),
userInfo: nil,
repeats: true)
}
@objc func updateItemPlayerTimer() {
guard let currentTime = player?.currentTime else {
return
}
updateTimeDescription?(currentTime)
}
当用户暂停播放器应用使计时器失效时
func stopTimer() {
itemPlayTimer?.invalidate()
itemPlayTimer = nil
}
但是在再次调用 startTimer() 之后选择器不会调用
原因是计时器开始在其他线程中执行,而不是在主线程中。
关于ios - 无效并重新启动后,Swift计时器将不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50211687/
欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) | Powered by Discuz! X3.4 |