iOS AVPlayer时间观察器崩溃

时间:2018-09-23 16:42:16

标签: ios avfoundation avplayer ios12 swift4.2

自从升级到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

0 个答案:

没有答案