jonasalbert
12/15/2017 - 4:52 AM

Format CMTime to "HH:mm:ss"

An extension

https://stackoverflow.com/questions/40495301/what-does-is-unavailable-use-truncatingremainder-instead-mean

extension CMTime {
  var toTimeString:String {
    
    let totalSeconds1 = CMTimeGetSeconds(self)
    let totalSeconds2 = CMTimeGetSeconds(self)
    
    if totalSeconds1.isNaN {
      return "00:00:00"
    }else if totalSeconds1.isZero {
      return "00:00:00"
    }
    
    let hours:Int = Int(totalSeconds1 / 3600)
    let minutes:Int = Int(totalSeconds1.truncatingRemainder(dividingBy: 3600) / 60)
    let seconds:Int = Int(totalSeconds2.truncatingRemainder(dividingBy: 60))
    
    return String(format: "%02i:%02i:%02i", hours, minutes, seconds)
  }
}