我有一个数据类型的问题-与AVPlayer在Swift我得到一个CMTimeRange当我试图得到:

AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0]

上面印的是:
Optional(CMTimeRange: {{0/1 = 0.000}, {1016722/600 = 1694.537, rounded}})

我已经尝试了所有成员,并试图在这里获取cmtimerange键的值,但我只是得到了错误。我需要1694作为浮点数的最终值。
我该怎么做?

最佳答案

ACMTimeRange只是一个时间范围。它具有startendduration属性。每一个都是CMTimeCMTime具有seconds属性作为Double

if let range = AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0] {
    let seconds = Float(range.duration.seconds)
}

这将给您Float的秒数。如果您需要,请将duration更改为end

关于ios - 无法将Swift CMTimeRange转换为Float或获取数字?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44835320/

10-11 14:33