gpt4 book ai didi

objective-c - 当 UIView 框架更改时, View 内的 AVPlayer 层不会调整大小

转载 作者:IT老高 更新时间:2023-10-28 11:34:36 37 4
gpt4 key购买 nike

我有一个 UIView,其中包含一个 AVPlayer 来显示视频。更改方向时,我需要更改视频的大小和位置。

我对调整图层大小不是很有经验,所以我在调整视频大小时遇到​​了问题。

我首先创建 AVPlayer 并将其播放器添加到我的 videoHolderView 层:

NSURL *videoURL = [NSURL fileURLWithPath:videoPath];
self.avPlayer = [AVPlayer playerWithURL:videoURL];

AVPlayerLayer* playerLayer = [AVPlayerLayer playerLayerWithPlayer:self.avPlayer];
playerLayer.frame = videoHolderView.bounds;
playerLayer.videoGravity = AVLayerVideoGravityResizeAspect;
playerLayer.needsDisplayOnBoundsChange = YES;

[videoHolderView.layer addSublayer:playerLayer];
videoHolderView.layer.needsDisplayOnBoundsChange = YES;

然后,稍后,我更改 videoHolderView 框架的大小和位置:

[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)];

此时,我需要将 avPlayer 调整为相同的尺寸。这不会自动发生 - avPlayer 在 vi​​deoHolderView 中保持较小的尺寸。

如果有人可以提供帮助,我将不胜感激。

谢谢大家。

最佳答案

  playerLayer.videoGravity = AVLayerVideoGravityResizeAspectFit;

关于objective-c - 当 UIView 框架更改时, View 内的 AVPlayer 层不会调整大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10126200/

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