1
ラベルに現在の時刻を表示するプロジェクトで作成しています。ラベルのスタイルを変更する方法CMTimeGetSeconds
CMTimeGetSecondsを使用してプログラムでタイマーとラベルを設定して秒を追跡しました。
10分を超える数字を削除したいと思います(動画の長さはわずか2分です)。
これにはどのような方法が適していますか?
let currentTimeLabel: UILabel = {
let label = UILabel()
label.translatesAutoresizingMaskIntoConstraints = false
label.text = "0:00"
return label
}()
fileprivate func setupPlayerView() {
player?.addObserver(self, forKeyPath: "currentItem.loadedTimeRanges", options: .new, context: nil)
/track player progress
let interval = CMTime(value: 1, timescale: 2)
player?.addPeriodicTimeObserver(forInterval: interval, queue: DispatchQueue.main, using: { (progressTime) in
let seconds = CMTimeGetSeconds(progressTime)
let secondsString = String(format: "%02d", Int(seconds.truncatingRemainder(dividingBy: 60)))
let minutesString = String(format: "%02d", Int(seconds/60))
self.currentTimeLabel.text = "\(minutesString):\(secondsString)"
})
スウィフト3.0コード。 – KKRocks