我想知道:如何让 AVAudioplayer 中的 currentTime 自动更新。 我用这个代码
let currentTime1 = Int((player1?.currentTime)!)
let minutes = currentTime1/60
let seconds = currentTime1 - minutes * 60
curLabel.text = NSString(format: "%02d:%02d", minutes,seconds) as String
谢谢。
最佳答案
func startRecording() -> Void {
....
....
let aSelector : Selector = #selector(CLASSNAME.updateTime)
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: aSelector,userInfo: nil, repeats: true)
startTime = NSDate.timeIntervalSinceReferenceDate()
}
func updateTime() {
let currentTime = NSDate.timeIntervalSinceReferenceDate()
var elapsedTime: NSTimeInterval = currentTime - startTime
let minutes = UInt8(elapsedTime / 60.0)
elapsedTime -= (NSTimeInterval(minutes) * 60)
let seconds = UInt8(elapsedTime)
elapsedTime -= NSTimeInterval(seconds)
let strMinutes = String(format: "%02d", minutes)
let strSeconds = String(format: "%02d", seconds)
YOUR-LABEL.text = "\(strMinutes):\(strSeconds)"
}
现在,当您调用 startRecording() 函数时,它将开始更新 YOUR-LABEL 上的文本
希望现在一切都清楚
关于ios - AVAudioplayer如何让当前时间自动更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43120424/