无法将Swift CMTimeRange转换为Float或获取数字?

时间:2017-06-29 21:32:45

标签: ios swift swift3 cmtime

我有一个数据类型问题 - 在Swift中使用AVPlayer我尝试获取CMTimeRange:

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

用这印刷的是:

Optional(CMTimeRange: {{0/1 = 0.000}, {1016722/600 = 1694.537, rounded}})

我已经尝试了所有成员并尝试在此处获取cmtimerange键的值,但我只是得到错误。我需要将1694的最终值作为Float。

我该怎么做?

1 个答案:

答案 0 :(得分:1)

CMTimeRange就是这样,一段时间。它具有startendduration属性。每个都是CMTimeCMTime的{​​{1}}属性为seconds

Double

这将为您提供if let range = AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0] { let seconds = Float(range.duration.seconds) } 的秒数。如果您需要,请将Float更改为duration