gpt4 book ai didi

ios - AVSampleBufferDisplayLayer : change videoGravity animated

转载 作者:行者123 更新时间:2023-12-05 07:52:42 65 4
gpt4 key购买 nike

在我的项目中,我使用了 AVSampleBufferDisplayLayer 和 AVPlayerLayer。它们的 Bot 具有相似的界面和 videoGravity 属性。当我更改 AVPlayerLayer videoGravity 属性时,视频会立即通过动画效果重新调整大小。使用 AVSampleBufferDisplayLayer videoGravity 在我改变设备方向之前没有任何反应,然后视频在没有动画的情况下重新调整大小。

如何将 AVSampleBufferDisplayLayer 的 videoGravity 更改为类似于 AVPlayerLayer 的行为?

最佳答案

我找到的唯一解决方案是重新初始化 AVSampleBufferDisplayLayer,例如:

var displayBufferLayer: AVSampleBufferDisplayLayer?
...
func reinitBufferLayer(videoGravity: AVLayerVideoGravity) {
displayBufferLayer?.flush()
displayBufferLayer?.stopRequestingMediaData()
displayBufferLayer?.removeFromSuperlayer()

let bufferLayer = AVSampleBufferDisplayLayer()
bufferLayer.frame = view.bounds
bufferLayer.videoGravity = videoGravity // (i.e. .resizeAspectFill)
bufferLayer.isOpaque = true
view.layer.insertSublayer(bufferLayer, at: 0)

self.displayBufferLayer = bufferLayer
}

关于ios - AVSampleBufferDisplayLayer : change videoGravity animated,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33439729/

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