我想CMTime
字符串一个人类可读的。
所以我找到了下面的代码。
extension CMTime {
var durationText:String {
let totalSeconds = CMTimeGetSeconds(self)
let hours:Int = Int(totalSeconds / 3600)
let minutes:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 3600) / 60)
let seconds:Int = Int(totalSeconds.truncatingRemainder(dividingBy: 60))
if hours > 0 {
return String(format: "%i:%02i:%02i", hours, minutes, seconds)
} else {
return String(format: "%02i:%02i", minutes, seconds)
}
}
}
我有30 second
视频文件。它的CMTime
价值是17945
。
我期待这个 durationText 00:30
。
但结果是00:29
。
和其他视频文件一样。
我应该修什么??