gpt4 book ai didi

swift - 如何在 calayer 出现时让视频暂停

转载 作者:行者123 更新时间:2023-11-28 16:18:54 25 4
gpt4 key购买 nike

我正在尝试让 calayer 在视频出现时暂停它。无论我将它添加为另一个 calayer 还是动画,我都不知道如何去做。这是我在导出之前添加 calayer 时的代码。因此,当动画发生时,我希望视频在出现时暂停,然后在动画停止后恢复播放。

 let titleLayer = CATextLayer()
titleLayer.backgroundColor = NSColor.clearColor().CGColor
titleLayer.string = "Dummy text"
titleLayer.font = NSFont(name: "Helvetica", size: 28)
titleLayer.shadowOpacity = 0.5
titleLayer.alignmentMode = kCAAlignmentCenter
titleLayer.frame = CGRectMake(0, 50, size.width, size.height / 6)

let animation: CABasicAnimation = CABasicAnimation(keyPath: "opacity")
animation.duration = 0
animation.fromValue = Int(1.0)
animation.toValue = Int(0.0)
animation.beginTime = 5
animation.removedOnCompletion = false
animation.fillMode = kCAFillModeForwards
titleLayer.addAnimation(animation, forKey: "animateOpacity")

最佳答案

您可以在将动画添加到图层之前暂停视频,然后在动画结束后继续播放。要知道动画何时结束,您可以让一个对象成为 animation 的委托(delegate),然后在 animationDidStop:finished: 委托(delegate)方法中恢复播放。

func showTitle() {
// configure animation { .. }
animation.delegate = self
// pause video
titleLayer.addAnimation(animation, forKey: "animateOpacity")
}

func animationDidStop(anim: CAAnimation, finished flag: Bool) {
// play video
}

关于swift - 如何在 calayer 出现时让视频暂停,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38733404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com