我有一个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;
Run Code Online (Sandbox Code Playgroud)
然后,稍后,我将更改videoHolderView框架的大小和位置:
[videoHolderView setFrame:CGRectMake(0, 0, 768, 502)];
Run Code Online (Sandbox Code Playgroud)
此时,我需要avPlayer调整大小到这些相同的维度.这不会自动发生 - avPlayer在videoHolderView中保持小尺寸.
如果有人可以提供帮助,我真的很感激任何建议.
多谢你们.