Отказ наблюдателя времени iOS AVPlayer - PullRequest
0 голосов
/ 23 сентября 2018

С момента обновления до iOS 12 / XCode 10 и Swift 4.2 я наблюдаю сбои в наблюдателе времени AVPlayer.Сбой происходит при воспроизведении того же видео, но не каждый раз, что странно.Вот кодЯ проверил, что интервал равен 0,004, а не 0. Это происходит, даже если я вместо интервала вычисляю интервал 1,0 / 30,0.Я подозреваю, что сбой связан с некоторыми изменениями в Swift 4.2 или iOS 12.

        let width = Double(self.playerView.bounds.width)
        var interval = 0.5*duration.seconds/width

        /* The time label needs to update at least once per second. */
        if interval > 1.0 {
           interval = 1.0
        }

        playerObserver = player.addPeriodicTimeObserver(forInterval: CMTime(seconds: interval, preferredTimescale: CMTimeScale(NSEC_PER_SEC)), queue: DispatchQueue.main, using: { [weak self] time in
            self?.syncScrubber()
        })             

   *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '*** -[AVPeriodicTimebaseObserver initWithTimebase:interval:queue:block:] invalid parameter not satisfying: ((Boolean)(CMTimeCompare(interval, kCMTimeZero) > 0))'
*** First throw call stack:
(0x1e7a57ef8 0x1e6c25a40 0x1edab0be0 0x1eda65b18 0x10278eaec 0x10277d104 0x10277dc74 0x1e84c9d4c 0x1e84cc1e0 0x1e84c95d4 0x1eda91290 0x1043e3840 0x1043e4de4 0x1043f2a94 0x1e79e61bc 0x1e79e1084 0x1e79e05b8 0x1e9c54584
...