【问题标题】:time elapsed in AVPlayer is showing strange numbers in swiftAVPlayer 中经过的时间在 swift 中显示奇怪的数字
【发布时间】:2016-04-05 01:30:20
【问题描述】:

我有以下代码来尝试显示我的音频文件经过的时间:

    func updateTime() {
    let currentTime = Int(player!.currentTime().value)
    let minutes = currentTime/60
    print(minutes)
    let seconds = currentTime - minutes * 60
    print(seconds)
    time.text = NSString(format: "%02d:%02d", minutes,seconds) as String
}

在这段代码中设置了计时器,因为确实加载了:

    play.play()

    timer = NSTimer.scheduledTimerWithTimeInterval(1.0, target: self, selector: #selector(.updateTime), userInfo: nil, repeats: true)

标签中显示了数字,但它们是完全随机的,因此没有显示秒和分钟。我在这里做错了什么?这是我获取当前时间的方式吗?

【问题讨论】:

  • %d 它用于整数。看起来您正在使用 Double/NSTimeInterval 或 Float
  • 我得到的数字是这样的:15980621, 39, 32657959, 34, 49332843, 18, 65981395, 17, 82654148, 33, 99314348, 47, 115990088, 56, 1159900388, 56, 12, 123, 56, 8, 123 , 16,

标签: swift avplayer


【解决方案1】:

我将这一行改为:

let currentTime = Int(player!.currentTime().value) / Int(player!.currentTime().timescale)

我不知道为什么会这样,但它确实有效!

【讨论】:

  • “我不知道这为什么有效,但它有效!”关于程序员生活的模因
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 2015-09-17
  • 2013-09-27
相关资源
最近更新 更多