gpt4 book ai didi

objective-c - 设置 AVPlayerLayer VideoGravity 适用于模拟器,不适用于 iPad

转载 作者:可可西里 更新时间:2023-11-01 03:04:15 28 4
gpt4 key购买 nike

我目前正在使用 AVPlayer Framework 开发流媒体内容的视频播放器。我偶然发现了 AVPlayerLayer 的 VideoGravity 字符串属性,它允许我将播放器缩放/调整大小模式设置为不同的值。

为了向用户提供默认播放器已知的缩放功能,我设置了一个方法来执行以下代码:

AVPlayerLayer *layer = (AVPlayerLayer *)[self.videoContainer layer];

if([layer.videoGravity isEqualToString:AVLayerVideoGravityResizeAspect])
layer.videoGravity = AVLayerVideoGravityResizeAspectFill;
else
layer.videoGravity = AVLayerVideoGravityResizeAspect;

这在模拟器中工作得很好,但不知何故在我安装了 iOS 5.0.1 的 iPad 2 上就不行了。

有没有人遇到过类似的问题?这是 5.0.1 的已知 iOS Bug 吗?有没有更好的方法来使用 AVPlayerLayer 实现缩放/调整大小?

非常感谢任何想法/提示/帮助和建议,

谢谢,

山姆

最佳答案

设置边界将在内部 setNeedsLayout。如果你只改变引力,你必须称之为你自己。调用 setNeedsDisplay 来强制重新绘制也没有什么坏处,尽管我认为 AVPlayerLayer 更新图层内容的频率如此之高以至于这无关紧要。

编辑:你的名字是我的两倍!

关于objective-c - 设置 AVPlayerLayer VideoGravity 适用于模拟器,不适用于 iPad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9836766/

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