无法将 Swift CMTimeRange 转换为 Float 或获取数字?
Cant convert Swift CMTimeRange to Float or get the number?
我有一个数据类型问题 - Swift 中的 AVPlayer 在我尝试获取时得到了一个 CMTimeRange:
AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0]
打印出来的是:
Optional(CMTimeRange: {{0/1 = 0.000}, {1016722/600 = 1694.537, rounded}})
我已经尝试了所有成员并尝试在此处获取 cmtimerange 键的值,但我只是遇到错误。我需要 1694 作为浮点数的最终值。
我该怎么做?
A CMTimeRange
就是一个时间范围。它具有 start
、end
和 duration
属性。其中每一个都是 CMTime
。 CMTime
有一个 seconds
属性 作为一个 Double
.
if let range = AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0] {
let seconds = Float(range.duration.seconds)
}
这将为您提供 Float
的秒数。如果您需要,请将 duration
更改为 end
。
我有一个数据类型问题 - Swift 中的 AVPlayer 在我尝试获取时得到了一个 CMTimeRange:
AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0]
打印出来的是:
Optional(CMTimeRange: {{0/1 = 0.000}, {1016722/600 = 1694.537, rounded}})
我已经尝试了所有成员并尝试在此处获取 cmtimerange 键的值,但我只是遇到错误。我需要 1694 作为浮点数的最终值。
我该怎么做?
A CMTimeRange
就是一个时间范围。它具有 start
、end
和 duration
属性。其中每一个都是 CMTime
。 CMTime
有一个 seconds
属性 作为一个 Double
.
if let range = AudioPlayerManager.shared.currentTrack?.playerItem?.loadedTimeRanges[0] {
let seconds = Float(range.duration.seconds)
}
这将为您提供 Float
的秒数。如果您需要,请将 duration
更改为 end
。