0

我有一个数据类型问题 - 在 Swift 中使用 AVPlayer 时,当我尝试获取时,我得到了一个 CMTimeRange:

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

用这个打印的是:

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

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

我该怎么做呢?

4

1 回答 1

2

ACMTimeRange就是这样,一个范围的时间。它具有startendduration属性。其中每一个都是一个CMTime. CMTime有一个seconds属性作为Double.

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

这将为您提供秒数作为Float. 如果这是您需要的,请更改duration为。end

于 2017-06-29T21:36:56.097 回答