func seekFullRead(seconds: Float64, completion: (() -> ())? = nil) {
let targetTime:CMTime = CMTimeMakeWithSeconds(seconds, preferredTimescale: 60000)
fullReadPlayer?.currentItem?.seek(to: targetTime, toleranceBefore: .zero, toleranceAfter: .zero, completi[enter image description here][1]onHandler: { (finish) in
if finish {
completion?()
}
})
}
fullReadTimeObserver = fullReadPlayer?.addPeriodicTimeObserver(forInterval: CMTimeMake(value: 1, timescale: 10), queue: DispatchQueue.main, using: { [weak self](time) in
guard let self = self else { return }
if self.fullReadPlayer?.status == .readyToPlay {
self.delegate?.audioPlayer(self, didUpdateCurrentTime: time.seconds, teach: nil)
}
})
Когда я стремлюсь к 4,57 секундам, сначала отображается правильное текущее время, затем текущее время будет на 0,2 секунды вперед, но воспроизведение начнется после того, как текущее время будет на 0,2 секунды вперед.
Журналы:
текущее время: 1.30104062
текущее время: 1.401042787
искать: 4.579999923706055
текущее время: 1.498295786
текущее время: 4.579983333333334
текущее время: 4.319330793
текущее время: 4.319642834
текущее время: 4.401050459
текущее время: 4.501045084
текущее время: 4.601038959